I know I'm ignorant in some areas of this problem, so please forgive me if I
don't explain it well or if I'm missing something obvious!
PROBLEM: Tomcat won't startup (via Eclipse plugin) when Apache's
commons-digester.jar is included as a project lib.
QUESTION: How can I use the Digester in my project with Tomcat?
SEE ALSO (appear to reference the same problem):
http://www.mail-archive.com/tomcat-dev@(protected)
http://groups.google.com/groups?selm=c09cb3fc.0307290659.57359042%40posting.
google.com
http://www.mail-archive.com/commons-user@(protected)
I've narrowed it down to this being the source of the problem. It looks like
it has something to do with ClassLoaders or something, but I don't know much
about that. I'm confused.
It's a problem that others have apparently encountered. A patch to Catalina
may solve the problem, but I haven't seen any posts or messages detailing a
work-around.
Is there a work-around I can use _NOW_ to make my project work in Tomcat?
Thanks!
Matt Kruse
PS:
This is the error I get when including Digester in the dependencies and
trying to start Tomcat:
2003-09-22 10:22:29,962 0 [main] DEBUG
org.apache.commons.digester.Digester - addRuleSet() with no namespace URI
2003-09-22 10:22:29,978 16 [main] DEBUG
org.apache.commons.digester.Digester - addRuleSet() with no namespace URI
2003-09-22 10:22:29,978 16 [main] DEBUG
org.apache.commons.digester.Digester - addRuleSet() with no namespace URI
2003-09-22 10:22:29,993 31 [main] DEBUG
org.apache.commons.digester.Digester - addRuleSet() with no namespace URI
2003-09-22 10:22:29,993 31 [main] DEBUG
org.apache.commons.digester.Digester - addRuleSet() with no namespace URI
2003-09-22 10:22:29,993 31 [main] DEBUG
org.apache.commons.digester.Digester - addRuleSet() with no namespace URI
2003-09-22 10:22:29,993 31 [main] DEBUG
org.apache.commons.digester.Digester - addRuleSet() with no namespace URI
2003-09-22 10:22:29,993 31 [main] DEBUG
org.apache.commons.digester.Digester - addRuleSet() with no namespace URI
2003-09-22 10:22:29,993 31 [main] DEBUG
org.apache.commons.digester.Digester - addRuleSet() with no namespace URI
2003-09-22 10:22:30,071 109 [main] DEBUG
org.apache.commons.digester.Digester.sax -
setDocumentLocator(
org.apache.xerces.parsers.AbstractSAXParser$LocatorProxy@
97d01f)
2003-09-22 10:22:30,071 109 [main] DEBUG
org.apache.commons.digester.Digester.sax - startDocument()
2003-09-22 10:22:30,103 141 [main] DEBUG
org.apache.commons.digester.Digester.sax -
startPrefixMapping(xml,http://www.w3.org/XML/1998/namespace)
2003-09-22 10:22:30,103 141 [main] DEBUG
org.apache.commons.digester.Digester.sax -
startPrefixMapping(xmlns,http://www.w3.org/2000/xmlns/)
2003-09-22 10:22:30,103 141 [main] DEBUG
org.apache.commons.digester.Digester.sax - startElement(,,Server)
2003-09-22 10:22:30,103 141 [main] DEBUG
org.apache.commons.digester.Digester - Pushing body text ''
2003-09-22 10:22:30,103 141 [main] DEBUG
org.apache.commons.digester.Digester - New match='Server'
2003-09-22 10:22:30,103 141 [main] DEBUG
org.apache.commons.digester.Digester - Fire begin() for
ObjectCreateRule[className=
org.apache.catalina.core.StandardServer,
attributeName=className]
2003-09-22 10:22:30,103 141 [main] DEBUG
org.apache.commons.digester.Digester - [ObjectCreateRule]{Server}New
org.apache.catalina.core.StandardServer2003-09-22 10:22:30,103 141 [main] ERROR
org.apache.commons.digester.Digester - Begin event threw exception
java.lang.ClassNotFoundException:
org.apache.catalina.core.StandardServerat
java.net.URLClassLoader$1.run(URLClassLoader.java:198)
at
java.security.AccessController.doPrivileged(Native Method)
at
java.net.URLClassLoader.findClass (
URLClassLoader.java:186)
at
java.lang.ClassLoader.loadClass (
ClassLoader.java:306)
at
sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:265)
at
java.lang.ClassLoader.loadClass (
ClassLoader.java:262)
at
org.apache.commons.digester.ObjectCreateRule.begin (
ObjectCreateRule.java:252
)
at
org.apache.commons.digester.Rule.begin (
Rule.java:200)
at
org.apache.commons.digester.Digester.startElement (
Digester.java:1268)
at
org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
at
org.apache.xerces.impl.dtd.XMLDTDValidator.startElement(Unknown Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unkno
wn Source)
at
org.apache.xerces.impl.XMLDocumentScannerImpl$ContentDispatcher.scanRootElem
entHook(Unknown Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatc
her.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.DTDConfiguration.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:1543)
at
org.apache.catalina.startup.Catalina.start (
Catalina.java:449)
at
org.apache.catalina.startup.Catalina.execute (
Catalina.java:400)
at
org.apache.catalina.startup.Catalina.process (
Catalina.java:180)
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.catalina.startup.Bootstrap.main (
Bootstrap.java:203)
Catalina.start:
java.lang.ClassNotFoundException:
org.apache.catalina.core.StandardServerjava.lang.ClassNotFoundException:
org.apache.catalina.core.StandardServerat
org.apache.commons.digester.Digester.createSAXException (
Digester.java:2383)
at
org.apache.commons.digester.Digester.createSAXException (
Digester.java:2409)
at
org.apache.commons.digester.Digester.startElement (
Digester.java:1271)
at
org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
at
org.apache.xerces.impl.dtd.XMLDTDValidator.startElement(Unknown Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unkno
wn Source)
at
org.apache.xerces.impl.XMLDocumentScannerImpl$ContentDispatcher.scanRootElem
entHook(Unknown Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatc
her.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.DTDConfiguration.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:1543)
at
org.apache.catalina.startup.Catalina.start (
Catalina.java:449)
at
org.apache.catalina.startup.Catalina.execute (
Catalina.java:400)
at
org.apache.catalina.startup.Catalina.process (
Catalina.java:180)
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.catalina.startup.Bootstrap.main (
Bootstrap.java:203)