Hi,
I just started using Tomcat 3.2 and Struts 1.0 and have trouble even getting
the sample application running.
After I threw the struts-example.jar come with strut into the webapps
directory of the tomcat installation, I ran the startup script. During the
startup, I got an exception enclosed at the end. Any other non-strut
applications worked fine. It seemed that after tomcat expanded the war file
into a directory, webapps\struts-example, it failed to load the class from
webapps\struts-example\WEB-INF\classes.
In the class ObjectCreateRule, it uses the following statement to load the
class:
Class clazz = Class.forName(realClassName);
I believe Class.forName only load the classes from CLASSPATH so it wouldn't
load the application specific class. But this sample application must work
for other people. Does anyone have similar experience or know what's going
on? What I might have done wrong?
I am using JBuilder5 personal edition's JVM (1.3). The OS is Win2K.
Thanks.
Weiguo
Begin event threw exception
java.lang.ClassNotFoundException: org.apache.struts.webapp.example.User
at java.net.URLClassLoader$1.run(URLClassLoader.java, Compiled Code)
at java.lang.Exception.<init>(Exception.java, Compiled Code)
at
java.lang.ClassNotFoundException.<init>(ClassNotFoundException.java,
Compiled Code)
at java.net.URLClassLoader$1.run(URLClassLoader.java, Compiled Code)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java, Compiled
Code)
at java.lang.ClassLoader.loadClass(ClassLoader.java, Compiled Code)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java,
Compiled Co
de)
at java.lang.ClassLoader.loadClass(ClassLoader.java, Compiled Code)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java,
Compiled Co
de)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:124)
at
org.apache.struts.digester.ObjectCreateRule.begin(ObjectCreateRule.ja
va:176)
at org.apache.struts.digester.Digester.startElement(Digester.java,
Compi
led Code)
at com.sun.xml.parser.Parser.maybeElement(Parser.java:1391)
at com.sun.xml.parser.Parser.content(Parser.java:1499)
at com.sun.xml.parser.Parser.maybeElement(Parser.java:1400)
at com.sun.xml.parser.Parser.parseInternal(Parser.java:492)
at com.sun.xml.parser.Parser.parse(Parser.java:284)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:155)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:77)
at org.apache.struts.digester.Digester.parse(Digester.java:755)
at
org.apache.struts.webapp.example.DatabaseServlet.load(DatabaseServlet
.java:251)
at
org.apache.struts.webapp.example.DatabaseServlet.init(DatabaseServlet
.java:175)
at javax.servlet.GenericServlet.init(GenericServlet.java:258)
at
org.apache.tomcat.core.ServletWrapper.doInit(ServletWrapper.java:317)
at org.apache.tomcat.core.Handler.init(Handler.java:215)
at
org.apache.tomcat.core.ServletWrapper.init(ServletWrapper.java:296)
at
org.apache.tomcat.context.LoadOnStartupInterceptor.contextInit(LoadOn
StartupInterceptor.java, Compiled Code)
at
org.apache.tomcat.core.ContextManager.initContext(ContextManager.java
, Compiled Code)
at org.apache.tomcat.core.ContextManager.init(ContextManager.java,
Compi
led Code)
at org.apache.tomcat.startup.Tomcat.execute(Tomcat.java:195)
at org.apache.tomcat.startup.Tomcat.main(Tomcat.java:235)