Skip to Main Content

Java EE (Java Enterprise Edition) General Discussion

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

ServletContextListener: NoClassDefFoundError

843841Feb 3 2006
Hi,

I am using Tomcat-5.5.8 on Cygwin. I have written my own ContextListener class (called ApplicationStart) that implements ServletContextListener. The class is compiled and is present in my WEB-INF/classes folder in the proper package. When I start Tomcat, I get the following error:

----------
SEVERE: Error configuring application listener of class edu.uta.search.util.ApplicationStart

java.lang.NoClassDefFoundError: javax/servlet/ServletContextListener
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1247)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1181)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3607)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4097)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:918)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:881)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:475)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1126)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1020)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1012)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
at org.apache.catalina.core.StandardService.start(StandardService.java:450)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:683)
at org.apache.catalina.startup.Catalina.start(Catalina.java:537)
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.catalina.startup.Bootstrap.start(Bootstrap.java:271)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:409)
Feb 3, 2006 3:50:31 PM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Skipped installing application listeners due to previous error(s)
Feb 3, 2006 3:50:31 PM org.apache.catalina.core.StandardContext start
SEVERE: Error listenerStart
Feb 3, 2006 3:50:31 PM org.apache.catalina.core.StandardContext start
SEVERE: Context startup failed due to previous errors
Feb 3, 2006 3:50:32 PM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: contextInitialized()
Feb 3, 2006 3:50:32 PM org.apache.catalina.core.ApplicationContext log
INFO: SessionListener: contextInitialized()
Feb 3, 2006 3:50:32 PM org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-80
Feb 3, 2006 3:50:32 PM org.apache.jk.common.ChannelSocket init
INFO: JK2: ajp13 listening on /0.0.0.0:8009
Feb 3, 2006 3:50:32 PM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/110 config=null
Feb 3, 2006 3:50:32 PM org.apache.catalina.storeconfig.StoreLoader load
INFO: Find registry server-registry.xml at classpath resource
Feb 3, 2006 3:50:33 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 6018 ms
----------

Web.xml has the entry:
<listener>
<listener-class>edu.uta.search.util.ApplicationStart</listener-class>
</listener>

Looks like it cannot find the servlet-api.jar! But the servlet-api.jar is present at C:/tomcat-5.5.8/common/lib/servlet-api.jar. It is in the system Classpath and I also tried putting it in the Path.

Can anybody please point out if I am making some mistake?

Thanks,
Rahul.
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Mar 3 2006
Added on Feb 3 2006
0 comments
603 views