Andy, I solved the "DVFactoryException" problem today by refactoring my code that deals with JAXB and Apache CXF maven code generation so that it is in a different project that does not depend on Jena's xercesImpl 2.11.0. This was tedious but the result is a build with Jena 2.10.1-SNAPSHOT that runs all of our tests successfully, except that every now and then the JENA-447 error pops up.
Dave -----Original Message----- From: Andy Seaborne [mailto:[email protected]] Sent: Thursday, May 02, 2013 7:14 AM To: [email protected] Subject: Re: Jena 2.10.1 and xercesImpl 2.11.0 versus JAXB, cxf and "endorsed dirs" On 01/05/13 20:51, Lebling, David (US SSA) wrote: > The Jena 2.10.1 snapshot includes its own version of xercesImpl with > version 2.11.0. Using this version is a problem because it is not > "endorsed," (or perhaps it overrides an "endorsed" version?). That > means that having it as a dependency, to make code that uses Jena > happy, causes problems with (e.g.) JAXB2 and wsdl2java. For example: > > [ERROR] Failed to execute goal > org.apache.cxf:cxf-codegen-plugin:2.4.0:wsdl2java (generate-sources) > on project xxx: org.apache.xerces.impl.dv.DVFactoryException: DTD > factory class org.apache.xerces.impl.dv.dtd.DTDDVFactoryImpl does not > extend from DTDDVFactory. -> [Help 1] > > I do not fully understand all the ramifications of why this happens, > even after Googling the operative part, but I'm wondering if you have > encountered it and have a workaround. > > Dave Lebling > (yuk - endorsed Xerces - I though those days were over!) Dave, Which system is "endorsing" it and which version of Xerces is in the endorsed directory? (Which JVM are you running?) I'm not sure why we moved to Xerces 2.11.0 from 2.10.0 (i.e. I can't remember and it might have been just a misc update). You could try excluding xerces as a Jena dependency and see what happens. A test is to set it to 'provided' and recompile from source then run the tests. Andy
