Редактировать: Позже я понял, что корень проблемы здесь, скорее всего, отсутствует конфигурация журнала .В нашем случае (с использованием SLF4J с log4j) после добавления правильной конфигурации в log4j.properties
стали видны все виды предупреждений и ошибок, регистрируемых библиотеками, даже с Tomcat.
Я пытался Jetty вместо Tomcat , и начали получать лучшие сообщения об ошибках.Оказалось, что было пропущено несколько библиотек - материал, необходимый для некоторых библиотек, которые я уже использовал.
2011-06-28 15:57:01.879:WARN::Unable to reach node goal: started
java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:184)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:640)
Некоторые библиотеки, по-видимому, требуют регистрации общего доступа, которую я добавил.Далее:
java.lang.NoClassDefFoundError: org/springframework/asm/ClassVisitor
at org.springframework.context.support.AbstractRefreshableApplicationContext.customizeBeanFactory(AbstractRefreshableApplicationContext.java:218)
Добавлен весенний асм.Далее:
org.springframework.beans.factory.BeanDefinitionStoreException:
Unexpected exception parsing XML document from class path resource [applicationContext.xml];
nested exception is java.lang.NoClassDefFoundError: org/springframework/aop/config/AopNamespaceUtils
Добавлен spring-aop.Далее что-то чуть менее прямолинейное:
org.springframework.beans.factory.BeanDefinitionStoreException:
Unexpected exception parsing XML document from class path resource [applicationContext.xml];
nested exception is java.lang.NoClassDefFoundError: org/aopalliance/intercept/MethodInterceptor
Обнаружена дискуссия по поводу отсутствия aopalliance в комментариях к весеннему блогу .Очевидно, он был полностью удален из spring-aop, и вам нужно получить aopalliance.jar из sourceforge .
(я думаю, что это болото - это Java EE в худшем случае:Не знаю, что делают spring-asm
или spring-aop
, не говоря уже о aopalliance
, но, видимо, они мне нужны. :-P)
Итак, добавлен aopalliance.jar.Позже мне все еще нужно было добавить spring-expression и cglib-2.2 (который поставляется с Hibernate).
После этого остаются некоторые проблемы с моей конфигурацией персистентного слоя Spring / Hibernate, но они выходят за рамки этого вопроса,В противном случае Wicket & Spring теперь работают хорошо (например, для внедрения объектов сервисного слоя на страницы Wicket).
Я предполагаю, что одна из моральных причин этого заключается в том, что в некоторых случаях Tomcat ест полезные сообщения об ошибках, и Jetty может быть лучше для отладки.Кроме того, использование Maven, возможно, могло бы помочь с адом зависимостей (но оно также не без проблем).