geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Neal Sanche <n...@nsdev.org>
Subject Re: Geronimo and Struts 1.2.7
Date Fri, 17 Jun 2005 03:08:28 GMT
Thanks so much Aaron,

Yes, this hint, combined with Cata's great hint of not bundling the 
commons-logging-1.0.4.jar into my web application worked to get 
everything running like I know it should have. This is good. Now I'm on 
to my next problem, but I'll make a new post for that.

I had messed with the context-priority-classloader element last night 
before I heard back from you, but immediately was faced with classcast 
exceptions and reverted. With commons-logging out of the picture 
everything seems to be functional now.

-Neal

Aaron Mulder wrote:

>	You might try adding a geronimo-jetty.xml with:
>
><context-priority-classloader>true</context-priority-classloader>
>
>	It may be the case that something's being loaded from the system 
>classpath and you want it to be loaded from the web app classpath, and 
>this will set it to search the web app classpath first.
>
>Aaron
>
>On Wed, 15 Jun 2005, Neal Sanche wrote:
>  
>
>>Hi All,
>>
>>I am currently working hard to get a Struts 1.2.7 application to build 
>>and deploy inside Geronimo HEAD. I've made great strides tonight in 
>>doing so, but I've run into a problem now, and I'm not sure what's 
>>happening. I've bundled all of the struts .jar files and dependecies in 
>>my WEB-INF/lib directory inside my .WAR file. I have a bunch of Struts 
>>Actions compiled and their classes are written to the WEB-INF/classes 
>>directory. My struts based .jsps seem to execute fine, and as long as I 
>>don't access and Struts Action classes, I'm fine. But when I do access a 
>>struts action, I get the error:
>>
>>
>>    HTTP ERROR: 500
>>
>>org/apache/struts/action/Action
>>
>>RequestURI=/phonebook/Hello.do
>>
>>/Powered by Jetty:// <http://jetty.mortbay.org>
>>/
>>
>>And the console emits the following stack trace:
>>
>>23:16:16,101 WARN  [ServletHandler] Error for /phonebook/Hello.do
>>java.lang.NoClassDefFoundError: org/apache/struts/action/Action
>>        at java.lang.ClassLoader.defineClass1(Native Method)
>>        at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
>>        at 
>>java.security.SecureClassLoader.defineClass(SecureClassLoader.java:12
>>4)
>>        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 java.lang.ClassLoader.loadClass(ClassLoader.java:299)
>>        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
>>        at 
>>org.apache.geronimo.jetty.JettyClassLoader.loadClass(JettyClassLoader
>>.java:59)
>>        at 
>>org.apache.struts.util.RequestUtils.applicationClass(RequestUtils.jav
>>a:117)
>>        at 
>>org.apache.struts.util.RequestUtils.applicationInstance(RequestUtils.
>>java:143)
>>        at 
>>org.apache.struts.action.RequestProcessor.processActionCreate(Request
>>Processor.java:280)
>>        at 
>>org.apache.struts.action.RequestProcessor.process(RequestProcessor.ja
>>va:218)
>>        at 
>>org.apache.struts.action.ActionServlet.process(ActionServlet.java:119
>>4)
>>        at 
>>org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
>>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
>>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>>        at 
>>org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:427
>>)
>>        at 
>>org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolde
>>r.java:92)
>>        at 
>>org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(
>>WebApplicationHandler.java:832)
>>        at 
>>org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:171
>>)
>>        at 
>>org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(
>>WebApplicationHandler.java:823)
>>        at 
>>org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicati
>>onHandler.java:473)
>>        at 
>>org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:272)
>>        at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:169)
>>        at 
>>org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.
>>java:1063)
>>        at 
>>org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestP
>>rocessor.java:263)
>>        at 
>>org.apache.struts.action.RequestProcessor.processForwardConfig(Reques
>>tProcessor.java:386)
>>        at 
>>org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(Ti
>>lesRequestProcessor.java:318)
>>        at 
>>org.apache.struts.action.RequestProcessor.process(RequestProcessor.ja
>>va:229)
>>        at 
>>org.apache.struts.action.ActionServlet.process(ActionServlet.java:119
>>4)
>>
>>So what I find freaky about this stack trace is that near the bottom, 
>>org.apache.struts.action stuff starts appearing indicating to me that 
>>the struts classes are being found, I think. Is there, perhaps, a 
>>conflicting Jar inside the Geronimo repository? Is there a way to make 
>>the Geronimo classloader only load from within the web application .WAR 
>>scope? Any ideas what I'm doing wrong?
>>
>>Thanks tons, if you can help me.
>>
>>Cheers.
>>
>>-Neal
>>
>>//
>>
>>    
>>


Mime
View raw message