You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Richard Doust <rd...@comcast.net> on 2002/11/04 14:23:09 UTC

ClassDefNotFound error on Action

I'm trying to incorporate Struts into an existing ear after having
successfully deployed Struts wars. On attempting to invoke an action url I
get:

2002-11-04 01:03:52,446 WARN  [org.jboss.jbossweb] WARNING: action: Error
creating Action instance for path '/getReview', class name
'com.nym.videostore.actions.GetReviewAction'
java.lang.NoClassDefFoundError: org/apache/struts/action/Action 	at
java.lang.ClassLoader.defineClass0(Native Method) 	at
java.lang.ClassLoader.defineClass(ClassLoader.java:502) 	at
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123) 	at
java.net.URLClassLoader.defineClass(URLClassLoader.java:250) 	at
java.net.URLClassLoader.access$100(URLClassLoader.java:54) 	at
java.net.URLClassLoader$1.run(URLClassLoader.java:193) 	at
java.security.AccessController.doPrivileged(Native Method) 	at
java.net.URLClassLoader.findClass(URLClassLoader.java:186) 	at
org.jboss.mx.loading.UnifiedClassLoader.findClass(UnifiedClassLoader.java:22
6) 	at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
	at
org.jboss.mx.loading.UnifiedClassLoader.loadClassLocally(UnifiedClassLoader.
java:234) 	at
org.jboss.mx.loading.UnifiedLoaderRepository2.loadClassFromRepository(Unifie
dLoaderRepository2.java:269) 	at
org.jboss.mx.loading.UnifiedLoaderRepository2.loadClass(UnifiedLoaderReposit
ory2.java:149) 	at
org.jboss.mx.loading.UnifiedClassLoader2.loadClass(UnifiedClassLoader2.java:
146) 	at java.lang.ClassLoader.loadClass(ClassLoader.java:292) 	at
java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:566) 	at
java.lang.ClassLoader.loadClass(ClassLoader.java:255) 	at
org.mortbay.http.ContextLoader.loadClass(ContextLoader.java:216) 	at
org.mortbay.http.ContextLoader.loadClass(ContextLoader.java:200) 	at
java.lang.ClassLoader.loadClassInternal(ClassLoader.java:315) 	at
java.lang.Class.forName0(Native Method) 	at
java.lang.Class.forName(Class.java:140) 	at
org.apache.struts.action.ActionServlet.processActionCreate(ActionServlet.jav
a:1631) 	at
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1577) 	at
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:492) 	at
javax.servlet.http.HttpServlet.service(HttpServlet.java:740) 	at
javax.servlet.http.HttpServlet.service(HttpServlet.java:853) 	at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:366) 	at
org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandl
er.java:284) 	at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:577) 	at
org.mortbay.http.HttpContext.handle(HttpContext.java:1674) 	at
org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext
.java:544) 	at org.mortbay.http.HttpContext.handle(HttpContext.java:1624)
at org.mortbay.http.HttpServer.service(HttpServer.java:875) 	at
org.jboss.jetty.Jetty.service(Jetty.java:541) 	at
org.mortbay.http.HttpConnection.service(HttpConnection.java:785) 	at
org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:935) 	at
org.mortbay.http.HttpConnection.handle(HttpConnection.java:802) 	at
org.mortbay.http.SocketListener.handleConnection(SocketListener.java:200)
at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:294) 	at
org.mortbay.util.ThreadPool$JobRunner.run(ThreadPool.java:743) 	at
java.lang.Thread.run(Thread.java:536)


I am using Struts 1.0.2, JBoss 3.0.3 and the version of Jetty that's
included in that package. I haven't been able to figure this out. struts.jar
is in the /WEB-INF/lib directory and the Action class is definitely there.
I've seen some posts about ActionForm not being found but couldn't find any
info that helps. Can anyone point me in a direction that might help me to
solve this?

Thanks very much
Richard Doust


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: ClassDefNotFound error on Action

Posted by Gus Delgado <gd...@oceanobjects.com>.
I had the same problem with weblogic, it was because I had the Action 
and ActionForms inside the war file and inside a jar file as well.
Maybe you are doing the same thing?
The Actions and ActionForms have to be in only one deployable unit (jar, 
war).

-Gus
Richard Doust wrote:

>I'm trying to incorporate Struts into an existing ear after having
>successfully deployed Struts wars. On attempting to invoke an action url I
>get:
>
>2002-11-04 01:03:52,446 WARN  [org.jboss.jbossweb] WARNING: action: Error
>creating Action instance for path '/getReview', class name
>'com.nym.videostore.actions.GetReviewAction'
>java.lang.NoClassDefFoundError: org/apache/struts/action/Action 	at
>java.lang.ClassLoader.defineClass0(Native Method) 	at
>java.lang.ClassLoader.defineClass(ClassLoader.java:502) 	at
>java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123) 	at
>java.net.URLClassLoader.defineClass(URLClassLoader.java:250) 	at
>java.net.URLClassLoader.access$100(URLClassLoader.java:54) 	at
>java.net.URLClassLoader$1.run(URLClassLoader.java:193) 	at
>java.security.AccessController.doPrivileged(Native Method) 	at
>java.net.URLClassLoader.findClass(URLClassLoader.java:186) 	at
>org.jboss.mx.loading.UnifiedClassLoader.findClass(UnifiedClassLoader.java:22
>6) 	at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
>	at
>org.jboss.mx.loading.UnifiedClassLoader.loadClassLocally(UnifiedClassLoader.
>java:234) 	at
>org.jboss.mx.loading.UnifiedLoaderRepository2.loadClassFromRepository(Unifie
>dLoaderRepository2.java:269) 	at
>org.jboss.mx.loading.UnifiedLoaderRepository2.loadClass(UnifiedLoaderReposit
>ory2.java:149) 	at
>org.jboss.mx.loading.UnifiedClassLoader2.loadClass(UnifiedClassLoader2.java:
>146) 	at java.lang.ClassLoader.loadClass(ClassLoader.java:292) 	at
>java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:566) 	at
>java.lang.ClassLoader.loadClass(ClassLoader.java:255) 	at
>org.mortbay.http.ContextLoader.loadClass(ContextLoader.java:216) 	at
>org.mortbay.http.ContextLoader.loadClass(ContextLoader.java:200) 	at
>java.lang.ClassLoader.loadClassInternal(ClassLoader.java:315) 	at
>java.lang.Class.forName0(Native Method) 	at
>java.lang.Class.forName(Class.java:140) 	at
>org.apache.struts.action.ActionServlet.processActionCreate(ActionServlet.jav
>a:1631) 	at
>org.apache.struts.action.ActionServlet.process(ActionServlet.java:1577) 	at
>org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:492) 	at
>javax.servlet.http.HttpServlet.service(HttpServlet.java:740) 	at
>javax.servlet.http.HttpServlet.service(HttpServlet.java:853) 	at
>org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:366) 	at
>org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandl
>er.java:284) 	at
>org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:577) 	at
>org.mortbay.http.HttpContext.handle(HttpContext.java:1674) 	at
>org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext
>.java:544) 	at org.mortbay.http.HttpContext.handle(HttpContext.java:1624)
>at org.mortbay.http.HttpServer.service(HttpServer.java:875) 	at
>org.jboss.jetty.Jetty.service(Jetty.java:541) 	at
>org.mortbay.http.HttpConnection.service(HttpConnection.java:785) 	at
>org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:935) 	at
>org.mortbay.http.HttpConnection.handle(HttpConnection.java:802) 	at
>org.mortbay.http.SocketListener.handleConnection(SocketListener.java:200)
>at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:294) 	at
>org.mortbay.util.ThreadPool$JobRunner.run(ThreadPool.java:743) 	at
>java.lang.Thread.run(Thread.java:536)
>
>
>I am using Struts 1.0.2, JBoss 3.0.3 and the version of Jetty that's
>included in that package. I haven't been able to figure this out. struts.jar
>is in the /WEB-INF/lib directory and the Action class is definitely there.
>I've seen some posts about ActionForm not being found but couldn't find any
>info that helps. Can anyone point me in a direction that might help me to
>solve this?
>
>Thanks very much
>Richard Doust
>
>
>--
>To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
>For additional commands, e-mail: <ma...@jakarta.apache.org>
>
>
>.
>
>  
>




--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>