Hi, are you using Java 8 or 10/11 ?
Regards JB On 08/01/2019 15:31, Richard Hierlmeier wrote: > > I am currently migrating an application from Karaf 3.0.8 to Karaf 4.2.1. > I have problems with a bundle, it can not instantiate a JAXB context object. > It throws the following exception: > > java.lang.RuntimeException: Provider for class > javax.xml.parsers.SAXParserFactory cannot be created > at > javax.xml.parsers.$FactoryFinder.findServiceProvider($FactoryFinder.java:212) > at javax.xml.parsers.$FactoryFinder.find($FactoryFinder.java:180) > at javax.xml.parsers.$FactoryFinder.find($FactoryFinder.java:122) > at > javax.xml.parsers.SAXParserFactory.newInstance(SAXParserFactory.java:43) > at > com.sun.xml.bind.v2.util.XmlFactory.createParserFactory(XmlFactory.java:123) > at > com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.getXMLReader(UnmarshallerImpl.java:154) > at > javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:157) > at > javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:214) > ... > at java.lang.Thread.run(Thread.java:745) > Caused by: java.util.ServiceConfigurationError: > javax.xml.parsers.SAXParserFactory: Provider > org.apache.xerces.jaxp.SAXParserFactoryImpl not found > at java.util.ServiceLoader.fail(ServiceLoader.java:239) > at java.util.ServiceLoader.access$300(ServiceLoader.java:185) > at > java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:372) > at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404) > at java.util.ServiceLoader$1.next(ServiceLoader.java:480) > at > javax.xml.parsers.$FactoryFinder.lambda$findServiceProvider$3($FactoryFinder.java:206) > at java.security.AccessController.doPrivileged(Native Method) > at > javax.xml.parsers.$FactoryFinder.findServiceProvider($FactoryFinder.java:197) > ... 71 more > > Caused by: > java.util.ServiceConfigurationError: javax.xml.parsers.SAXParserFactory: > Provider org.apache.xerces.jaxp.SAXParserFactoryImpl not found > at java.util.ServiceLoader.fail(ServiceLoader.java:239) > at java.util.ServiceLoader.access$300(ServiceLoader.java:185) > at > java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:372) > at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404) > at java.util.ServiceLoader$1.next(ServiceLoader.java:480) > at > javax.xml.parsers.$FactoryFinder.lambda$findServiceProvider$3($FactoryFinder.java:206) > at java.security.AccessController.doPrivileged(Native Method) > at > javax.xml.parsers.$FactoryFinder.findServiceProvider($FactoryFinder.java:197) > at javax.xml.parsers.$FactoryFinder.find($FactoryFinder.java:180) > at javax.xml.parsers.$FactoryFinder.find($FactoryFinder.java:122) > at > javax.xml.parsers.SAXParserFactory.newInstance(SAXParserFactory.java:43) > at > com.sun.xml.bind.v2.util.XmlFactory.createParserFactory(XmlFactory.java:123) > at > com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.getXMLReader(UnmarshallerImpl.java:154) > at > javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:157) > at > javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:214) > > > The class org.apache.xerces.jaxp.SAXParserFactoryImpl comes from bundle > > mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xerces/2.12.0_1 > > it is provided by the wss4j from the cxf-3.2.7 feature. > > When I add an import to org.apache.xerces.jaxp to the bundle then JAXB > is working. But this cannot be the solution because it binds my bundle > onto this implementation. > > How can I solve this problem? > > Richard > > > > -- Jean-Baptiste Onofré [email protected] http://blog.nanthrax.net Talend - http://www.talend.com
