I'm having a similar problem. I installed Tomcat4 and
have the examples and struts-example webapps working.
However I can't seem to get my webapp which was
working fine under Tomcat3.2.1 to work. I get the error
listed below when I try go to any *.do. I
My $JAVA_HOME/jre/lib/ext directory is empty.
Anyone have any idea what the problem is?
Here's an abridged version of the error:
======================================================
Root Cause:
java.lang.NoClassDefFoundError: javax/sql/DataSource
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at
java.security.SecureClassLoader.defineClass(Unknown
Source)
at
org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1488)...
======================================================
And here's the whole thing:
====================================================
A Servlet Exception Has Occurred
Exception Report:
javax.servlet.ServletException: Servlet.init() for
servlet action threw exception
at
org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:875)
at
org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:621)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:215)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2366)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:462)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:163)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1005)
at
org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1098)
at java.lang.Thread.run(Unknown Source)
Root Cause:
java.lang.NoClassDefFoundError: javax/sql/DataSource
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at
java.security.SecureClassLoader.defineClass(Unknown
Source)
at
org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1488)
at
org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:851)
at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1230)
at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1113)
at java.lang.ClassLoader.loadClassInternal(Unknown
Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at
org.apache.struts.digester.ObjectCreateRule.begin(ObjectCreateRule.java:152)
at
org.apache.struts.digester.Digester.startElement(Digester.java:528)
at
org.xml.sax.helpers.XMLReaderAdapter.startElement(XMLReaderAdapter.java:329)
at
org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1451)
at
org.apache.crimson.parser.Parser2.content(Parser2.java:1700)
at
org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1468)
at
org.apache.crimson.parser.Parser2.content(Parser2.java:1700)
at
org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1468)
at
org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:499)
at
org.apache.crimson.parser.Parser2.parse(Parser2.java:304)
at
org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:433)
at
org.xml.sax.helpers.XMLReaderAdapter.parse(XMLReaderAdapter.java:223)
at
javax.xml.parsers.SAXParser.parse(SAXParser.java:317)
at
javax.xml.parsers.SAXParser.parse(SAXParser.java:108)
at
org.apache.struts.digester.Digester.parse(Digester.java:755)
at
org.apache.struts.action.ActionServlet.initMapping(ActionServlet.java:1331)
at
org.apache.struts.action.ActionServlet.init(ActionServlet.java:465)
at
javax.servlet.GenericServlet.init(GenericServlet.java:366)
at
org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:856)
at
org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:621)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:215)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2366)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:462)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:163)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1005)
at
org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1098)
at java.lang.Thread.run(Unknown Source)
geojeff wrote:
> Greetings,
>
> My problem is that under 4.0-b7 _some_ of my application classes are not
> getting found.
>
> The webapp works fine under 3.2.1. Classes are held in a single jar, which
> is placed in /usr/local/jakarta-tomcat/webapps/app/WEB-INF/lib.
>
> I installed 4.0-b7 (I know that rc2 is newest, but assume that isn't
> problem), and then copied webapp directories from the 3.2.1 webapps
> directory into the 4.0-b7 webapps directory
> (/usr/local/jakarta-tomcat-4.0-b7/webapps). I recompiled are rejarred
> first, using the servlet.jar for 4.0-b7 in my compile classpath.
> CATALINA_HOME set fine, etc., as 4.0-b7 does work initially for my webapp --
> Stopping 3.2.1 and restarting 4.0-b7 works fine on the first call to a
> servlet, but there is a class-not-found error for a servlet class called on
> the next click. The class that isn't getting found is a repository class
> for jdbc.
>
> Another odd thing, is that once I start attempting the upgrade to 4.0-b7,
> and then punt and go back to running 3.2.1, I also get the same
> class-not-found error under 3.2.1, but it goes away if I recompile, rejar,
> and redeploy the jar, and then restart 3.2.1.
>
> Anyway, eager to make the upgrade, but I'm having to step back to 3.2.1 each
> time I try.
>
> The traceback is included below.
>
> Thanks for any help,
>
> Jeff Pittman
>
> --------------------
> StandardWrapperValve[resultslist]: Servlet.service() for servlet
> resultslist threw exception
> javax.servlet.ServletException: Servlet execution threw an exception
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
> FilterChain.java:269)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
> ain.java:193)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
> va:243)
> at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
> 66)
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
> at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
> va:215)
> at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
> 66)
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
> at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
> at
> org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2314)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164
> )
> at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
> 66)
> at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:462)
> at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
> 64)
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
> at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
> :163)
> at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
> 66)
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
> at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
> at
> org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:
> 1000)
> at
> org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1093
> )
> at java.lang.Thread.run(Thread.java:484)
> ----- Root Cause -----
> java.lang.NoClassDefFoundError: com/company/project/Repository$1
> at com.company.project.Repository.<clinit>(Repository.java:304)
> at
> com.company.project.GetResultsCommand.execute(GetResultsCommand.java:19)
> at com.company.project.ServerServlet.service(ServerServlet.java:102)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
> FilterChain.java:247)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
> ain.java:193)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
> va:243)
> at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
> 66)
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
> at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
> va:215)
> at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
> 66)
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
> at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
> at
> org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2314)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164
> )
> at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
> 66)
> at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:462)
> at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
> 64)
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
> at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
> :163)
> at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
> 66)
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
> at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
> at
> org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:
> 1000)
> at
> org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1093
> )