Thanks for that. If it is a Tomcat bug that has been addressed, I'll put the issue on the back burner for a while. Can you remember if you noticed the xerces issue I mentioned?
Extance, Paul wrote: > Upgrade to tomcat 4.0.4 - 4.0.6, then you can put the jaxb-rt.jar > into the WEB-INF/lib directory. I think 4.0.3 has some class loader > issues with packages that start with java and javax in the WEB- > INF/lib folders > > This solved the problem for us. > > PaulE > > -----Original Message----- > From: Nick Lombard (VSP) [mailto:nick.lombard@;vcontractor.co.za] > Sent: Wednesday, October 30, 2002 5:05 AM > To: Tomcat Users List > Subject: RE: Using JAXB in a Servlet (class loader prob?) > > > Hi Steve > > My half a cent comment. > > <Can anone shed more light on this? Specifically I <would be > interested in <any ways to avoid using the /common/lib directory. > > We are successfully using shared jar files accross applications by > placing them in the $TOMCAT_HOME/shared/lib directory. > > This will help to not use the common/lib directory. > > Hope it helps. > Nick. > > -----Original Message----- > From: Steve Slatcher [mailto:steve_slatcher@;scientia.com] > Sent: Wednesday, October 30, 2002 2:54 PM > To: Tomcat Users List > Subject: Using JAXB in a Servlet (class loader prob?) > > > Hi all > > I have some code that uses JAXB that works fine in a standalone app > with the jars I expect it to need. When I put the same code in a > webapp I got a couple of problems initialising the Sevlet (see log > file below). > > I managed to get rid of one problem (javax.xml.bind.JAXBContext) by > putting a copy of jaxb-api.jar in /common/lib (before it was only in > app/WEB-INF/lib). > > The second problem was solved by copying a xerces.jar into my > app/WEB-INF/lib directory (as far as I can tell my standalone app did > not need org.w3c.dom.ls.DocumentLS at all). > > Can anone shed more light on this? Specifically I would be > interested in any ways to avoid using the /common/lib directory. > > I'm using Tomcat 4.0.3, JAXB 1.0 beta (currently the latest version), > and the magic Xerces that came to the rescue was 1.4.4. Despite the > name of my webapp I am NOT intent on spamming! > > Cheers > > Steve Slatcher > > 2002-10-30 11:33:14 WebappLoader[/spam]: Deploying class repositories > to work directory C:\jakarta-tomcat-4.0.3\work\localhost\spam > 2002-10-30 11:33:14 WebappLoader[/spam]: Deploy JAR > /WEB-INF/lib/activation.jar to > C:\jakarta-tomcat-4.0.3\bin\..\webapps\spam\WEB-INF\lib\activation.jar > 2002-10-30 11:33:14 WebappLoader[/spam]: Deploy JAR /WEB- > INF/lib/dom.jar to C:\jakarta-tomcat-4.0.3\bin\..\webapps\spam\WEB- > INF\lib\dom.jar 2002-10-30 11:33:15 WebappLoader[/spam]: Deploy JAR > /WEB-INF/lib/jax-qname.jar to > C:\jakarta-tomcat-4.0.3\bin\..\webapps\spam\WEB-INF\lib\jax-qname.jar > 2002-10-30 11:33:15 WebappLoader[/spam]: Deploy JAR > /WEB-INF/lib/jaxb-api.jar to > C:\jakarta-tomcat-4.0.3\bin\..\webapps\spam\WEB-INF\lib\jaxb-api.jar > 2002-10-30 11:33:15 WebappLoader[/spam]: Deploy JAR > /WEB-INF/lib/jaxb-libs.jar to > C:\jakarta-tomcat-4.0.3\bin\..\webapps\spam\WEB-INF\lib\jaxb-libs.jar > 2002-10-30 11:33:15 WebappLoader[/spam]: Deploy JAR > /WEB-INF/lib/jaxb-ri.jar to > C:\jakarta-tomcat-4.0.3\bin\..\webapps\spam\WEB-INF\lib\jaxb-ri.jar > 2002-10-30 11:33:15 WebappLoader[/spam]: Deploy JAR > /WEB-INF/lib/jaxb-xjc.jar to > C:\jakarta-tomcat-4.0.3\bin\..\webapps\spam\WEB-INF\lib\jaxb-xjc.jar > 2002-10-30 11:33:15 WebappLoader[/spam]: Deploy JAR > /WEB-INF/lib/jaxp-api.jar to > C:\jakarta-tomcat-4.0.3\bin\..\webapps\spam\WEB-INF\lib\jaxp-api.jar > 2002-10-30 11:33:15 WebappLoader[/spam]: Deploy JAR > /WEB-INF/lib/log4j-1.2.6.jar to > C:\jakarta-tomcat-4.0.3\bin\..\webapps\spam\WEB-INF\lib\log4j- > 1.2.6.jar 2002-10-30 11:33:15 WebappLoader[/spam]: Deploy JAR /WEB- > INF/lib/mail.jar to C:\jakarta-tomcat-4.0.3\bin\..\webapps\spam\WEB- > INF\lib\mail.jar 2002-10-30 11:33:15 WebappLoader[/spam]: Deploy JAR > /WEB-INF/lib/sax.jar to C:\jakarta-tomcat- > 4.0.3\bin\..\webapps\spam\WEB-INF\lib\sax.jar 2002-10-30 11:33:15 > WebappLoader[/spam]: Deploy JAR /WEB-INF/lib/xercesImpl.jar to > C:\jakarta-tomcat-4.0.3\bin\..\webapps\spam\WEB-INF\lib\xercesImpl.jar > 2002-10-30 11:33:15 WebappLoader[/spam]: Reloading checks are enabled > for this Context > 2002-10-30 11:33:15 StandardManager[/spam]: Seeding random number > generator class java.security.SecureRandom > 2002-10-30 11:33:15 StandardManager[/spam]: Seeding of random number > generator has been completed > 2002-10-30 11:33:15 ContextConfig[/spam]: Added certificates -> request > attribute Valve > 2002-10-30 11:33:15 StandardWrapper[/spam:Mailer]: Marking servlet > Mailer as unavailable > 2002-10-30 11:33:15 StandardContext[/spam]: Servlet /spam threw load() > exception > javax.servlet.ServletException: Error instantiating servlet class > com.scientia.spam.MailerServlet > at > org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:8 > 93) > at > org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:808) at > org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java >> 3266) > at > org.apache.catalina.core.StandardContext.start(StandardContext.java:3395) > at > org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1123) > at org.apache.catalina.core.StandardHost.start(StandardHost.java:614) > at > org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1123) > at > org.apache.catalina.core.StandardEngine.start(StandardEngine.java:343) at org.apache.catalina.core.StandardService.start(StandardService.java:388) at org.apache.catalina.core.StandardServer.start(StandardServer.java:506) > at org.apache.catalina.startup.Catalina.start(Catalina.java:781) > at org.apache.catalina.startup.Catalina.execute(Catalina.java:681) > at org.apache.catalina.startup.Catalina.process(Catalina.java:179) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:3 > 9) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImp > l.java:25) > at java.lang.reflect.Method.invoke(Method.java:324) > at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:243) > ----- Root Cause ----- > java.lang.NoClassDefFoundError: javax/xml/bind/JAXBContext > at java.lang.Class.getDeclaredConstructors0(Native Method) > at java.lang.Class.privateGetDeclaredConstructors(Class.java:1576) > at java.lang.Class.getConstructor0(Class.java:1748) > at java.lang.Class.newInstance0(Class.java:266) > at java.lang.Class.newInstance(Class.java:249) > at > org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:8 > 84) > at > org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:808) at > org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java >> 3266) > at > org.apache.catalina.core.StandardContext.start(StandardContext.java:3395) > at > org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1123) > at org.apache.catalina.core.StandardHost.start(StandardHost.java:614) > at > org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1123) > at > org.apache.catalina.core.StandardEngine.start(StandardEngine.java:343) at org.apache.catalina.core.StandardService.start(StandardService.java:388) at org.apache.catalina.core.StandardServer.start(StandardServer.java:506) > at org.apache.catalina.startup.Catalina.start(Catalina.java:781) > at org.apache.catalina.startup.Catalina.execute(Catalina.java:681) > at org.apache.catalina.startup.Catalina.process(Catalina.java:179) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:3 > 9) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImp > l.java:25) > at java.lang.reflect.Method.invoke(Method.java:324) > at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:243) > > 2002-10-30 11:33:15 StandardWrapper[/spam:default]: Loading container > servlet default > 2002-10-30 11:33:15 default: init > 2002-10-30 11:33:15 StandardWrapper[/spam:invoker]: Loading container > servlet invoker > 2002-10-30 11:33:15 invoker: init > 2002-10-30 11:33:15 jsp: init > 2002-10-30 11:33:16 StandardContext[/spam]: Servlet /spam threw load() > exception > javax.servlet.ServletException: Servlet.init() for servlet jsp threw > exception > at > org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:9 > 35) > at > org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:808) at > org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java >> 3266) > at > org.apache.catalina.core.StandardContext.start(StandardContext.java:3395) > at > org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1123) > at org.apache.catalina.core.StandardHost.start(StandardHost.java:614) > at > org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1123) > at > org.apache.catalina.core.StandardEngine.start(StandardEngine.java:343) at org.apache.catalina.core.StandardService.start(StandardService.java:388) at org.apache.catalina.core.StandardServer.start(StandardServer.java:506) > at org.apache.catalina.startup.Catalina.start(Catalina.java:781) > at org.apache.catalina.startup.Catalina.execute(Catalina.java:681) > at org.apache.catalina.startup.Catalina.process(Catalina.java:179) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:3 > 9) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImp > l.java:25) > at java.lang.reflect.Method.invoke(Method.java:324) > at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:243) > ----- Root Cause ----- > java.lang.NoClassDefFoundError: org/w3c/dom/ls/DocumentLS > at java.lang.ClassLoader.defineClass0(Native Method) > at java.lang.ClassLoader.defineClass(ClassLoader.java:509) > at > java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123) at > org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassL > oader.java:1631) > at > org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.ja > va:926) > at > org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.ja > va:1360) > at > org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.ja > va:1243) > at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:322) > at > org.apache.xerces.jaxp.DocumentBuilderImpl.<init>(DocumentBuilderImpl.java: > 102) > at > org.apache.xerces.jaxp.DocumentBuilderFactoryImpl.newDocumentBuilder(Docume > ntBuilderFactoryImpl.java:88) > at > org.apache.jasper.parser.ParserUtils.parseXMLDocument(ParserUtils.java:197) > at > org.apache.jasper.compiler.TldLocationsCache.processWebDotXml(TldLocationsC > ache.java:165) > at > org.apache.jasper.compiler.TldLocationsCache.<init>(TldLocationsCache.java: > 138) > at > org.apache.jasper.EmbededServletOptions.<init>(EmbededServletOptions.java:3 > 45) > at org.apache.jasper.servlet.JspServlet.init(JspServlet.java:266) > at > org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:9 > 16) > at > org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:808) at > org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java >> 3266) > at > org.apache.catalina.core.StandardContext.start(StandardContext.java:3395) > at > org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1123) > at org.apache.catalina.core.StandardHost.start(StandardHost.java:614) > at > org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1123) > at > org.apache.catalina.core.StandardEngine.start(StandardEngine.java:343) at org.apache.catalina.core.StandardService.start(StandardService.java:388) at org.apache.catalina.core.StandardServer.start(StandardServer.java:506) > at org.apache.catalina.startup.Catalina.start(Catalina.java:781) > at org.apache.catalina.startup.Catalina.execute(Catalina.java:681) > at org.apache.catalina.startup.Catalina.process(Catalina.java:179) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:3 > 9) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImp > l.java:25) > at java.lang.reflect.Method.invoke(Method.java:324) > at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:243) > > > > -- > To unsubscribe, e-mail: > <mailto:tomcat-user-unsubscribe@;jakarta.apache.org> > For additional commands, e-mail: > <mailto:tomcat-user-help@;jakarta.apache.org> > > > -- > To unsubscribe, e-mail: > <mailto:tomcat-user-unsubscribe@;jakarta.apache.org> > For additional commands, e-mail: > <mailto:tomcat-user-help@;jakarta.apache.org> -- To unsubscribe, e-mail: <mailto:tomcat-user-unsubscribe@;jakarta.apache.org> For additional commands, e-mail: <mailto:tomcat-user-help@;jakarta.apache.org>