I have just started using Tomcat 4 for the first time (have used Tomcat 3.x for
a while) and I see that startup.sh does not access the user's CLASSPATH. I
think that's great! CLASSPATH dependencies can get unwieldy.
I have placed the file SilverRuntime.jar in my webapp's WEB-INF/lib directory.
An examination of this file with jar reveals that it contains the class
com.sssw.rt.util.AgiUserLogin:
$ jar tf SilverRuntime.zip | grep com/sssw/rt/util/AgiUserLogin
com/sssw/rt/util/AgiUserLogin.class
However, when I run my webapp, I get:
exception
javax.servlet.ServletException: Servlet execution threw an exception
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
...
with a root cause of:
java.lang.NoClassDefFoundError: com/sssw/rt/util/AgiUserLogin
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:509)
at
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
at
org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1547)
at
org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:856)
at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1286)
at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1169)
at java.beans.Beans.instantiate(Beans.java:187)
at java.beans.Beans.instantiate(Beans.java:48)
at
com.ams.acq.pd.base.web.CommandFactory.getCommandInstance(CommandFactory.java:259)
Why doesn't my web app find a class which is in a jar in my WEB-INF/lib
directory?
cc
--
To unsubscribe: <mailto:[EMAIL PROTECTED]>
For additional commands: <mailto:[EMAIL PROTECTED]>
Troubles with the list: <mailto:[EMAIL PROTECTED]>