Classloader

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

Classloader

Colin Kilburn
Hello,

I'm trying to run an instance of Jetty (v. 5.1.3) embedded in my
application (Java 1.4.2).   I have a single webapp (a struts 1.2.4 app)
to run in the Jetty instance.   If I put my war in the webapps directory
of a standalone Jetty or Tomcat, the application starts fine and is
usable as expected.   When I install the webapp in my embedded Jetty
instance, I seem to run into classloader issues when struts uses a
Digester to parse the struts-config.xml.  

I apologize if this is a struts or digester or xml parser issue, if any
of you recognizes this problem as such, please kindly point me in the
right direction.   I only ask here as I only have the problem with an
embedded Jetty.

It seems that the digester created by struts (or underlying parser) uses
my parent application's classpath instead of the webapp's context
classpath when trying to instantiate objects specified in my
struts-config.  Could this be related to needing xerces jars in Jetty's
classpath?  (i.e. xerces is already loaded by my parent app).  I'm not a
classloader expert, but I'm stuck at this point.   Maybe I'm not doing
something else correctly.  Here's how I start a Jetty:

   Server server = new Server();
   SocketListener listener = new SocketListener();
   listener.setPort(9999);
   server.addListener(listener);
         
   WebApplicationContext context = server.addWebApplication("/myapp",
"/path/to/myapp.war");
   context.setExtractWAR(true);

   server.start();

Below is the stack trace I get.  I would appreciate any guidance or
suggestions.

Thanks in advance,
Colin




ERROR Digester                  - Begin event threw exception
java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at
org.apache.commons.beanutils.PropertyUtils.setSimpleProperty(PropertyUtils.java:1789)
    at
org.apache.commons.beanutils.PropertyUtils.setNestedProperty(PropertyUtils.java:1684)
    at
org.apache.commons.beanutils.PropertyUtils.setProperty(PropertyUtils.java:1713)
    at
org.apache.commons.beanutils.BeanUtils.setProperty(BeanUtils.java:1019)
    at org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:808)
    at
org.apache.commons.digester.SetPropertiesRule.begin(SetPropertiesRule.java:217)
    at org.apache.commons.digester.Rule.begin(Rule.java:152)
    at org.apache.commons.digester.Digester.startElement(Digester.java:1286)
    at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown
Source)
    at
org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown
Source)
    at org.apache.xerces.impl.dtd.XMLDTDValidator.emptyElement(Unknown
Source)
    at
org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown
Source)
    at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown
Source)
    at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
Source)
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
    at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
    at org.apache.commons.digester.Digester.parse(Digester.java:1572)
    at
org.apache.struts.action.ActionServlet.parseModuleConfigFile(ActionServlet.java:708)
    at
org.apache.struts.action.ActionServlet.initModuleConfig(ActionServlet.java:670)
    at org.apache.struts.action.ActionServlet.init(ActionServlet.java:329)
    at javax.servlet.GenericServlet.init(GenericServlet.java:168)
    at
org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:383)
    at org.mortbay.jetty.servlet.ServletHolder.start(ServletHolder.java:243)
    at
org.mortbay.jetty.servlet.ServletHandler.initializeServlets(ServletHandler.java:445)
    at
org.mortbay.jetty.servlet.WebApplicationHandler.initializeServlets(WebApplicationHandler.java:323)
    at
org.mortbay.jetty.servlet.WebApplicationContext.doStart(WebApplicationContext.java:511)
    at org.mortbay.util.Container.start(Container.java:72)
    at org.mortbay.http.HttpServer.doStart(HttpServer.java:755)
    at org.mortbay.util.Container.start(Container.java:72)
<snip>
....
Caused by: java.lang.NoClassDefFoundError:
org/apache/struts/validator/ValidatorForm
    at java.lang.ClassLoader.defineClass0(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:539)
    at
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:251)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:55)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
    at java.lang.ClassLoader.defineClass0(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:539)
    at
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:251)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:55)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
    at java.lang.ClassLoader.defineClass0(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:539)
    at
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:251)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:55)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
    at org.mortbay.http.ContextLoader.loadClass(ContextLoader.java:211)
    at org.mortbay.http.ContextLoader.loadClass(ContextLoader.java:195)
    at
org.apache.struts.config.FormBeanConfig.formBeanClass(FormBeanConfig.java:360)
    at
org.apache.struts.config.FormBeanConfig.setType(FormBeanConfig.java:154)
    ... 50 more





-------------------------------------------------------
This SF.Net email is sponsored by Oracle Space Sweepstakes
Want to be the first software developer in space?
Enter now for the Oracle Space Sweepstakes!
http://ads.osdn.com/?ad_id=7412&alloc_id=16344&op=click
_______________________________________________
Jetty-support mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jetty-support
Reply | Threaded
Open this post in threaded view
|

Re: Classloader

Greg Wilkins-5
Colin,

You can see in the stack trace that the Jetty classloader is being correctly
called.

It is calling it's parent classloader to try and load the class and it
is in there that the problem appears to take place.   This is probably because
the system classloader has some - but not all of the classes needed to
load the class.

So, the simplest suggestion is to not put any classes in WEB-INF/lib or
WEB-INF/classes and put everything on the system classpath.

Other than that, make sure that any classes on the system classpath can be
fully loaded and do not depend on anything in WEB-INF to load.

cheers




Colin Kilburn wrote:

> Hello,
>
> I'm trying to run an instance of Jetty (v. 5.1.3) embedded in my
> application (Java 1.4.2).   I have a single webapp (a struts 1.2.4 app)
> to run in the Jetty instance.   If I put my war in the webapps directory
> of a standalone Jetty or Tomcat, the application starts fine and is
> usable as expected.   When I install the webapp in my embedded Jetty
> instance, I seem to run into classloader issues when struts uses a
> Digester to parse the struts-config.xml.
> I apologize if this is a struts or digester or xml parser issue, if any
> of you recognizes this problem as such, please kindly point me in the
> right direction.   I only ask here as I only have the problem with an
> embedded Jetty.
>
> It seems that the digester created by struts (or underlying parser) uses
> my parent application's classpath instead of the webapp's context
> classpath when trying to instantiate objects specified in my
> struts-config.  Could this be related to needing xerces jars in Jetty's
> classpath?  (i.e. xerces is already loaded by my parent app).  I'm not a
> classloader expert, but I'm stuck at this point.   Maybe I'm not doing
> something else correctly.  Here's how I start a Jetty:
>
>   Server server = new Server();
>   SocketListener listener = new SocketListener();
>   listener.setPort(9999);
>   server.addListener(listener);
>            WebApplicationContext context =
> server.addWebApplication("/myapp", "/path/to/myapp.war");
>   context.setExtractWAR(true);
>
>   server.start();
>
> Below is the stack trace I get.  I would appreciate any guidance or
> suggestions.
>
> Thanks in advance,
> Colin
>
>
>
>
> ERROR Digester                  - Begin event threw exception
> java.lang.reflect.InvocationTargetException
>    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>    at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>
>    at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>
>    at java.lang.reflect.Method.invoke(Method.java:324)
>    at
> org.apache.commons.beanutils.PropertyUtils.setSimpleProperty(PropertyUtils.java:1789)
>
>    at
> org.apache.commons.beanutils.PropertyUtils.setNestedProperty(PropertyUtils.java:1684)
>
>    at
> org.apache.commons.beanutils.PropertyUtils.setProperty(PropertyUtils.java:1713)
>
>    at
> org.apache.commons.beanutils.BeanUtils.setProperty(BeanUtils.java:1019)
>    at org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:808)
>    at
> org.apache.commons.digester.SetPropertiesRule.begin(SetPropertiesRule.java:217)
>
>    at org.apache.commons.digester.Rule.begin(Rule.java:152)
>    at org.apache.commons.digester.Digester.startElement(Digester.java:1286)
>    at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown
> Source)
>    at
> org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown
> Source)
>    at org.apache.xerces.impl.dtd.XMLDTDValidator.emptyElement(Unknown
> Source)
>    at
> org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown
> Source)
>    at
> org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown
> Source)
>    at
> org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
> Source)
>    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
>    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
>    at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
>    at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
>    at org.apache.commons.digester.Digester.parse(Digester.java:1572)
>    at
> org.apache.struts.action.ActionServlet.parseModuleConfigFile(ActionServlet.java:708)
>
>    at
> org.apache.struts.action.ActionServlet.initModuleConfig(ActionServlet.java:670)
>
>    at org.apache.struts.action.ActionServlet.init(ActionServlet.java:329)
>    at javax.servlet.GenericServlet.init(GenericServlet.java:168)
>    at
> org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:383)
>    at org.mortbay.jetty.servlet.ServletHolder.start(ServletHolder.java:243)
>    at
> org.mortbay.jetty.servlet.ServletHandler.initializeServlets(ServletHandler.java:445)
>
>    at
> org.mortbay.jetty.servlet.WebApplicationHandler.initializeServlets(WebApplicationHandler.java:323)
>
>    at
> org.mortbay.jetty.servlet.WebApplicationContext.doStart(WebApplicationContext.java:511)
>
>    at org.mortbay.util.Container.start(Container.java:72)
>    at org.mortbay.http.HttpServer.doStart(HttpServer.java:755)
>    at org.mortbay.util.Container.start(Container.java:72)
> <snip>
> .....
> Caused by: java.lang.NoClassDefFoundError:
> org/apache/struts/validator/ValidatorForm
>    at java.lang.ClassLoader.defineClass0(Native Method)
>    at java.lang.ClassLoader.defineClass(ClassLoader.java:539)
>    at
> java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
>    at java.net.URLClassLoader.defineClass(URLClassLoader.java:251)
>    at java.net.URLClassLoader.access$100(URLClassLoader.java:55)
>    at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
>    at java.security.AccessController.doPrivileged(Native Method)
>    at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
>    at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
>    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
>    at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
>    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
>    at java.lang.ClassLoader.defineClass0(Native Method)
>    at java.lang.ClassLoader.defineClass(ClassLoader.java:539)
>    at
> java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
>    at java.net.URLClassLoader.defineClass(URLClassLoader.java:251)
>    at java.net.URLClassLoader.access$100(URLClassLoader.java:55)
>    at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
>    at java.security.AccessController.doPrivileged(Native Method)
>    at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
>    at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
>    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
>    at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
>    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
>    at java.lang.ClassLoader.defineClass0(Native Method)
>    at java.lang.ClassLoader.defineClass(ClassLoader.java:539)
>    at
> java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
>    at java.net.URLClassLoader.defineClass(URLClassLoader.java:251)
>    at java.net.URLClassLoader.access$100(URLClassLoader.java:55)
>    at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
>    at java.security.AccessController.doPrivileged(Native Method)
>    at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
>    at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
>    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
>    at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
>    at org.mortbay.http.ContextLoader.loadClass(ContextLoader.java:211)
>    at org.mortbay.http.ContextLoader.loadClass(ContextLoader.java:195)
>    at
> org.apache.struts.config.FormBeanConfig.formBeanClass(FormBeanConfig.java:360)
>
>    at
> org.apache.struts.config.FormBeanConfig.setType(FormBeanConfig.java:154)
>    ... 50 more
>
>
>
>
>
> -------------------------------------------------------
> This SF.Net email is sponsored by Oracle Space Sweepstakes
> Want to be the first software developer in space?
> Enter now for the Oracle Space Sweepstakes!
> http://ads.osdn.com/?ad_id=7412&alloc_id=16344&op=click
> _______________________________________________
> Jetty-support mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/jetty-support
>



-------------------------------------------------------
This SF.Net email is sponsored by Oracle Space Sweepstakes
Want to be the first software developer in space?
Enter now for the Oracle Space Sweepstakes!
http://ads.osdn.com/?ad_id=7412&alloc_id=16344&op=click
_______________________________________________
Jetty-support mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jetty-support
Reply | Threaded
Open this post in threaded view
|

Re: Re: Classloader

Colin Kilburn
Thanks Greg.    In the meantime I found reference to this method in the FAQ:

|HttpContext.setClassLoaderJava2Compliant(false);

After adding this call to the context my app behaved as expected.   The
FAQ says this "|results in many class loading issues".   Would these be
any other than what you might expect from inverting the order of these
loaders?

Thanks for contributing this great product to the community.  I wish I'd
looked beyond tomcat years ago.

Colin

Greg Wilkins wrote:

>Colin,
>
>You can see in the stack trace that the Jetty classloader is being correctly
>called.
>
>It is calling it's parent classloader to try and load the class and it
>is in there that the problem appears to take place.   This is probably because
>the system classloader has some - but not all of the classes needed to
>load the class.
>
>So, the simplest suggestion is to not put any classes in WEB-INF/lib or
>WEB-INF/classes and put everything on the system classpath.
>
>Other than that, make sure that any classes on the system classpath can be
>fully loaded and do not depend on anything in WEB-INF to load.
>
>cheers
>
>
>
>
>Colin Kilburn wrote:
>  
>
>>Hello,
>>
>>I'm trying to run an instance of Jetty (v. 5.1.3) embedded in my
>>application (Java 1.4.2).   I have a single webapp (a struts 1.2.4 app)
>>to run in the Jetty instance.   If I put my war in the webapps directory
>>of a standalone Jetty or Tomcat, the application starts fine and is
>>usable as expected.   When I install the webapp in my embedded Jetty
>>instance, I seem to run into classloader issues when struts uses a
>>Digester to parse the struts-config.xml.
>>I apologize if this is a struts or digester or xml parser issue, if any
>>of you recognizes this problem as such, please kindly point me in the
>>right direction.   I only ask here as I only have the problem with an
>>embedded Jetty.
>>
>>It seems that the digester created by struts (or underlying parser) uses
>>my parent application's classpath instead of the webapp's context
>>classpath when trying to instantiate objects specified in my
>>struts-config.  Could this be related to needing xerces jars in Jetty's
>>classpath?  (i.e. xerces is already loaded by my parent app).  I'm not a
>>classloader expert, but I'm stuck at this point.   Maybe I'm not doing
>>something else correctly.  Here's how I start a Jetty:
>>
>>  Server server = new Server();
>>  SocketListener listener = new SocketListener();
>>  listener.setPort(9999);
>>  server.addListener(listener);
>>           WebApplicationContext context =
>>server.addWebApplication("/myapp", "/path/to/myapp.war");
>>  context.setExtractWAR(true);
>>
>>  server.start();
>>
>>Below is the stack trace I get.  I would appreciate any guidance or
>>suggestions.
>>
>>Thanks in advance,
>>Colin
>>
>>
>>
>>
>>ERROR Digester                  - Begin event threw exception
>>java.lang.reflect.InvocationTargetException
>>   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>   at
>>sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>
>>   at
>>sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>
>>   at java.lang.reflect.Method.invoke(Method.java:324)
>>   at
>>org.apache.commons.beanutils.PropertyUtils.setSimpleProperty(PropertyUtils.java:1789)
>>
>>   at
>>org.apache.commons.beanutils.PropertyUtils.setNestedProperty(PropertyUtils.java:1684)
>>
>>   at
>>org.apache.commons.beanutils.PropertyUtils.setProperty(PropertyUtils.java:1713)
>>
>>   at
>>org.apache.commons.beanutils.BeanUtils.setProperty(BeanUtils.java:1019)
>>   at org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:808)
>>   at
>>org.apache.commons.digester.SetPropertiesRule.begin(SetPropertiesRule.java:217)
>>
>>   at org.apache.commons.digester.Rule.begin(Rule.java:152)
>>   at org.apache.commons.digester.Digester.startElement(Digester.java:1286)
>>   at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown
>>Source)
>>   at
>>org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown
>>Source)
>>   at org.apache.xerces.impl.dtd.XMLDTDValidator.emptyElement(Unknown
>>Source)
>>   at
>>org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown
>>Source)
>>   at
>>org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown
>>Source)
>>   at
>>org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
>>Source)
>>   at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
>>   at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
>>   at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
>>   at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
>>   at org.apache.commons.digester.Digester.parse(Digester.java:1572)
>>   at
>>org.apache.struts.action.ActionServlet.parseModuleConfigFile(ActionServlet.java:708)
>>
>>   at
>>org.apache.struts.action.ActionServlet.initModuleConfig(ActionServlet.java:670)
>>
>>   at org.apache.struts.action.ActionServlet.init(ActionServlet.java:329)
>>   at javax.servlet.GenericServlet.init(GenericServlet.java:168)
>>   at
>>org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:383)
>>   at org.mortbay.jetty.servlet.ServletHolder.start(ServletHolder.java:243)
>>   at
>>org.mortbay.jetty.servlet.ServletHandler.initializeServlets(ServletHandler.java:445)
>>
>>   at
>>org.mortbay.jetty.servlet.WebApplicationHandler.initializeServlets(WebApplicationHandler.java:323)
>>
>>   at
>>org.mortbay.jetty.servlet.WebApplicationContext.doStart(WebApplicationContext.java:511)
>>
>>   at org.mortbay.util.Container.start(Container.java:72)
>>   at org.mortbay.http.HttpServer.doStart(HttpServer.java:755)
>>   at org.mortbay.util.Container.start(Container.java:72)
>><snip>
>>.....
>>Caused by: java.lang.NoClassDefFoundError:
>>org/apache/struts/validator/ValidatorForm
>>   at java.lang.ClassLoader.defineClass0(Native Method)
>>   at java.lang.ClassLoader.defineClass(ClassLoader.java:539)
>>   at
>>java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
>>   at java.net.URLClassLoader.defineClass(URLClassLoader.java:251)
>>   at java.net.URLClassLoader.access$100(URLClassLoader.java:55)
>>   at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
>>   at java.security.AccessController.doPrivileged(Native Method)
>>   at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
>>   at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
>>   at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
>>   at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
>>   at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
>>   at java.lang.ClassLoader.defineClass0(Native Method)
>>   at java.lang.ClassLoader.defineClass(ClassLoader.java:539)
>>   at
>>java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
>>   at java.net.URLClassLoader.defineClass(URLClassLoader.java:251)
>>   at java.net.URLClassLoader.access$100(URLClassLoader.java:55)
>>   at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
>>   at java.security.AccessController.doPrivileged(Native Method)
>>   at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
>>   at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
>>   at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
>>   at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
>>   at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
>>   at java.lang.ClassLoader.defineClass0(Native Method)
>>   at java.lang.ClassLoader.defineClass(ClassLoader.java:539)
>>   at
>>java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
>>   at java.net.URLClassLoader.defineClass(URLClassLoader.java:251)
>>   at java.net.URLClassLoader.access$100(URLClassLoader.java:55)
>>   at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
>>   at java.security.AccessController.doPrivileged(Native Method)
>>   at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
>>   at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
>>   at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
>>   at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
>>   at org.mortbay.http.ContextLoader.loadClass(ContextLoader.java:211)
>>   at org.mortbay.http.ContextLoader.loadClass(ContextLoader.java:195)
>>   at
>>org.apache.struts.config.FormBeanConfig.formBeanClass(FormBeanConfig.java:360)
>>
>>   at
>>org.apache.struts.config.FormBeanConfig.setType(FormBeanConfig.java:154)
>>   ... 50 more
>>
>>
>>
>>
>>
>>-------------------------------------------------------
>>This SF.Net email is sponsored by Oracle Space Sweepstakes
>>Want to be the first software developer in space?
>>Enter now for the Oracle Space Sweepstakes!
>>http://ads.osdn.com/?ad_id=7412&alloc_id=16344&op=click
>>_______________________________________________
>>Jetty-support mailing list
>>[hidden email]
>>https://lists.sourceforge.net/lists/listinfo/jetty-support
>>
>>    
>>
>
>
>
>-------------------------------------------------------
>This SF.Net email is sponsored by Oracle Space Sweepstakes
>Want to be the first software developer in space?
>Enter now for the Oracle Space Sweepstakes!
>http://ads.osdn.com/?ad_id=7412&alloc_id=16344&op=click
>_______________________________________________
>Jetty-support mailing list
>[hidden email]
>https://lists.sourceforge.net/lists/listinfo/jetty-support
>
>
>  
>





-------------------------------------------------------
This SF.Net email is sponsored by Oracle Space Sweepstakes
Want to be the first software developer in space?
Enter now for the Oracle Space Sweepstakes!
http://ads.osdn.com/?ad_id=7412&alloc_id=16344&op=click
_______________________________________________
Jetty-support mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jetty-support