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

Reply via email to