Geronimo and Struts 1.2.7

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Geronimo and Struts 1.2.7

Neal Sanche
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

//
Reply | Threaded
Open this post in threaded view
|

Re: Geronimo and Struts 1.2.7

ammulder
        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
>
> //
>
Reply | Threaded
Open this post in threaded view
|

Re: Geronimo and Struts 1.2.7

Catalino Pineda Jr.
    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

//

    

  
Reply | Threaded
Open this post in threaded view
|

Re: Geronimo and Struts 1.2.7

Neal Sanche
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
>>>
>>>//
>>>
>>>    
>>>
>>
>>  
>>

Reply | Threaded
Open this post in threaded view
|

Re: Geronimo and Struts 1.2.7

Neal Sanche
In reply to this post by ammulder
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
>>
>>//
>>
>>    
>>