Hello,
I am in the process of evaluating Wicket for an upcoming project and in the
process of writing some proof of concept code. Or trying to anyway. The
problem I am having is that I keep getting the exception:
java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
after deploying and attempting to run the application.
According to the Wicket quick start all I need to do is:
"You cannot use Wicket without adding an SLF4J logging implementation to
your classpath. Most people use log4j. If you do, just include
slf4j-log4j12.jar on your classpath to get Wicket to use log4j too. If you
want to use commons-logging or JDK14 logging or something else, please see
the SLF4J site for more information."
The following jars are on my classpath:
- log4j-1.2.15.jar
- slf4j-log4j12-1.5.6.jar
- wicket-1.3.5.jar
- wicket-auth-roles-1.3.5.jar
- wicket-datetime-1.3.5.jar
- wicket-extensions-1.3.5.jar
- wicket-guice-1.3.5.jar
- wicket-ioc-1.3.5.jar
- wicket-jmx-1.3.5.jar
- wicket-objectsizeof-agent-1.3.5.jar
- wicket-spring-1.3.5.jar
- wicket-spring-annot-1.3.5.jar
Bear in mind that this is a NetBeans 6.5 project using apache-tomcat-5.5.23
and JDK 5
Am I missing jar a jar file(s) here that is not mentioned in the docs?
I have tried to find the correct jar from the SLF4J distro but still no
luck.
Any suggestions are welcome!!!
Thank you!
M. Goodell
NetBeans stack trace:
SEVERE: Exception starting filter WicketApplication
java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
at
org.apache.wicket.protocol.http.WicketFilter.<clinit>(WicketFilter.java:76)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAcces
sorImpl.java:39)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstruc
torAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
at java.lang.Class.newInstance0(Class.java:350)
at java.lang.Class.newInstance(Class.java:303)
at
org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilter
Config.java:208)
at
org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFil
terConfig.java:302)
at
org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterCon
fig.java:78)
at
org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:36
35)
at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4222)
at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:7
60)
at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
at
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
at
org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:626)
at
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:511)
at
org.apache.catalina.startup.HostConfig.check(HostConfig.java:1220)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
org.apache.commons.modeler.BaseModelMBean.invoke(BaseModelMBean.java:457)
at
com.sun.jmx.mbeanserver.DynamicMetaDataImpl.invoke(DynamicMetaDataImpl.java:
213)
at
com.sun.jmx.mbeanserver.MetaDataImpl.invoke(MetaDataImpl.java:220)
at
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanSer
verInterceptor.java:815)
at
com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:784)
at
org.apache.catalina.manager.ManagerServlet.check(ManagerServlet.java:1397)
at
org.apache.catalina.manager.ManagerServlet.deploy(ManagerServlet.java:815)
at
org.apache.catalina.manager.ManagerServlet.doGet(ManagerServlet.java:344)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:269)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:188)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:210)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:174)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase
.java:525)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127
)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117
)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:108)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processC
onnection(Http11BaseProtocol.java:665)
at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.jav
a:528)
at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWo
rkerThread.java:81)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
a:685)
at java.lang.Thread.run(Thread.java:595)