Re: pax-web not recognizing JAXB implementation with Java 11

10 views
Skip to first unread message

Achim Nierbeck

unread,
May 22, 2019, 3:11:51 AM5/22/19
to op...@googlegroups.com
Hi,

how are you using Pax Web and which version?
As far as I know Java 11 runs smoothly with the setup the Apache Karaf project has been using.
I was under the impression, we already had some adjustments in the pax web project for Java 11.

regards, Achim

Am Di., 21. Mai 2019 um 21:38 Uhr schrieb 'Jasper Siepkes' via OPS4J <op...@googlegroups.com>:
Hi all!

I'm trying to migrate our OSGi application to Java 11. However I cannot get pax-web to find the JAXB implementation. Which leads to a exception like the one below when it tries to parse a web.xml. I've added `com.sun.*` to bootdelegation but oddly enough that doesn't seem to matter.

I'm using the Apache Servicemix jaxb implementation bundle (org.apache.servicemix.bundles.jaxb-runtime) together with the Jakarta API bundle (jakarta.xml.bind-api). I've also tried adding a fragment which makes the jakarta API bundle import the apache servicemix jaxb implementation package (com.sun etc.). That also didn't work.

Can someone tell me what the proper way is to make pax-web recognize the JAXB implementation?

Regards,

Jasper

------8<-----------------------------
[org.ops4j.pax.web.extender.war.internal.parser.WebAppParser] : error parsing web.xml
javax.xml.bind.JAXBException: Implementation of JAXB-API has not been found on module path or classpath.
 - with linked exception:
[java.lang.ClassNotFoundException: com.sun.xml.bind.v2.ContextFactory]
    at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:232)
    at javax.xml.bind.ContextFinder.find(ContextFinder.java:351)
    at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:691)
    at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:632)
    at org.ops4j.pax.web.extender.war.internal.parser.WebAppParser.parseWebXml(WebAppParser.java:955)
    at org.ops4j.pax.web.extender.war.internal.parser.WebAppParser.scanWebFragments(WebAppParser.java:363)
    at org.ops4j.pax.web.extender.war.internal.parser.WebAppParser.parse(WebAppParser.java:186)
    at org.ops4j.pax.web.extender.war.internal.WebObserver.createExtension(WebObserver.java:145)
    at org.ops4j.pax.web.extender.war.internal.Activator.doCreateExtension(Activator.java:82)
    at org.ops4j.pax.web.extender.war.internal.extender.AbstractExtender.createExtension(AbstractExtender.java:259)
    at org.ops4j.pax.web.extender.war.internal.extender.AbstractExtender.modifiedBundle(AbstractExtender.java:242)
    at org.ops4j.pax.web.extender.war.internal.extender.AbstractExtender.addingBundle(AbstractExtender.java:195)
    at org.ops4j.pax.web.extender.war.internal.extender.AbstractExtender.addingBundle(AbstractExtender.java:54)
    at org.osgi.util.tracker.BundleTracker$Tracked.customizerAdding(BundleTracker.java:475)
    at org.osgi.util.tracker.BundleTracker$Tracked.customizerAdding(BundleTracker.java:420)
    at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)
    at org.osgi.util.tracker.AbstractTracked.trackInitial(AbstractTracked.java:183)
    at org.osgi.util.tracker.BundleTracker.open(BundleTracker.java:159)
    at org.ops4j.pax.web.extender.war.internal.extender.AbstractExtender.startTracking(AbstractExtender.java:154)
    at org.ops4j.pax.web.extender.war.internal.Activator.doStart(Activator.java:59)
    at org.ops4j.pax.web.extender.war.internal.extender.AbstractExtender.start(AbstractExtender.java:117)
    at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:698)
    at org.apache.felix.framework.Felix.activateBundle(Felix.java:2402)
    at org.apache.felix.framework.Felix.startBundle(Felix.java:2308)
    at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1539)
    at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
    at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.ClassNotFoundException: com.sun.xml.bind.v2.ContextFactory
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
    at javax.xml.bind.ServiceLoaderUtil.nullSafeLoadClass(ServiceLoaderUtil.java:92)
    at javax.xml.bind.ServiceLoaderUtil.safeLoadClass(ServiceLoaderUtil.java:125)
    at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:230)
    ... 26 more
------8<-----------------------------

--
--
------------------
OPS4J - http://www.ops4j.org - op...@googlegroups.com

---
You received this message because you are subscribed to the Google Groups "OPS4J" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ops4j+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ops4j/4f918d16-56eb-42ac-8eca-24de173e3b84%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


--

Apache Member
Apache Karaf <http://karaf.apache.org/> Committer & PMC
OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer & Project Lead
blog <http://notizblog.nierbeck.de/>
Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS>

Software Architect / Project Manager / Scrum Master 

Freeman Fang

unread,
May 24, 2019, 1:44:46 PM5/24/19
to op...@googlegroups.com

Are you using pax-web in Karaf? If so, which version?
-------------
Freeman(Yue) Fang

Red Hat, Inc. 





Reply all
Reply to author
Forward
0 new messages