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>

Reply via email to