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 02:56:43 GMT
Thanks Cata,

I'm going to go try this suggestion right now. I had actually added the 
/context-priority-classloader/ in my geronimo-jetty.xml deployment plan, 
but got the exceptions almost immediately, and so I set it back. I'll 
also try removing the commons-logging from the webapp and see if that 
solves the problem. Thanks a lot.

-Neal

Catalino Pineda Jr. wrote:

>     Hi All,
>
>     I have encountered this problem and setting/ 
> context-priority-classloader  /to true has solved the problem. 
> *However*, you  may need to remove commons-logging.jar from  
> WEB-INF/lib folder of your web application to prevent 
> org.apache.commons.logging.LogFactory from throwing ClassCastException 
> when the app is started (causing it not to work properly). It seems 
> that the exception thrown is caused by having 
> commons-logging-1.0.4.jar loaded in systems classloader  conflicting 
> with the commons-logging  in webapp context.
>
>     HTH,
>     Cata
>
> 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