Hello Tomcat Users,

I am having a problem with xerces and other jars in the JDK or Tomcat
conflicting with jars in my app. I am getting the following exception
when instantiating Smooks, a csv library that usese xerces, in a web app
running in Tomcat:

java.lang.IncompatibleClassChangeError: Class org.jaxen.JaxenHandler
does not implement the requested interface org.jaxen.saxpath.XPathHandler

I found something in the Tomcat docs and at Oracle about "Endorsed
Standards Override Mechanism".

http://tomcat.apache.org/tomcat-6.0-doc/class-loader-howto.html

So I followed the directions and placed the jaxen-1.1.1.jar in the
Tomcat endorsed directory. I ran the app again and got a diferent exception:

org.apache.xerces.impl.dv.DVFactoryException: DTD factory class
org.apache.xerces.impl.dv.dtd.DTDDVFactoryImpl does not extend from
DTDDVFactory.

I then placed xercesImpl-2.6.2.jar in the Tomcat endorsed directory. I
ran the app again and got a diferent exception:

java.lang.NoSuchMethodError:
org.apache.xerces.impl.xs.XMLSchemaLoader.loadGrammar([Lorg/apache/xerces/xni/parser/XMLInputSource;)V

This makes me think I am on the right track and the exceptions I am
getting seem to point to the wrong classes being loaded.

My question is, is their a set of XML related jars that I should take
out of my app and place in this endorsed directory or is there a
different way of fixing this problem ?

Thanks,

Warren Bell

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to