Hi Romain,

thank you, that works. Maybe the detection in cxf should be done using the same 
classloader that was used to load cxf?


Cheers,

Arne


OPEN KNOWLEDGE GmbH
Poststraße 1, 26122 Oldenburg
Mobil: +49 151 - 108 22 942
Tel: +49 441 - 4082-154
Fax: +49 441 - 4082-111
[email protected]
www.openknowledge.de <https://www.openknowledge.de/>

Registergericht: Amtsgericht Oldenburg, HRB 4670
Geschäftsführer: Lars Röwekamp, Jens Schumann

Treffen Sie uns auf kommenden Konferenzen und Workshops:

Zu unseren Events<https://www.openknowledge.de/event/>





________________________________
Von: Romain Manni-Bucau <[email protected]>
Gesendet: Freitag, 2. Oktober 2020 08:04
An: [email protected]
Betreff: Re: ClassLoader issue with cxf and jaxb

Hi Arne,

We made CXF not requiring JAXB until used and we don't package it because it is 
more and more rarely needed and it makes it lighter.
You can add jaxb in meecrowave-core classloader/classpath and it will work 
directly.

Romain Manni-Bucau
@rmannibucau<https://twitter.com/rmannibucau> |  
Blog<https://rmannibucau.metawerx.net/> |Old 
Blog<http://rmannibucau.wordpress.com> | Github<https://github.com/rmannibucau> 
|LinkedIn<https://www.linkedin.com/in/rmannibucau> | 
Book<https://www.packtpub.com/application-development/java-ee-8-high-performance>


Le jeu. 1 oct. 2020 à 22:58, Arne Limburg 
<[email protected]<mailto:[email protected]>> a écrit :
Hi guys,

I run into a ClassLoader issue when running a war with meecrowave and java 11, 
that has jax-b dependencies in it.
I guess it is a problem with cxf.
It seems, that it does a check if jaxb is availabe, finds it, but later on 
searches in the wrong class loader.

Is there any simple way to package jaxb with meecrowave instead of putting it 
into the war? I guess that would be a simple fix.

Cheers,
Arne

java.lang.ClassNotFoundException: javax.xml.bind.JAXBException
    at 
jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581) 
~[?:?]
    at 
jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
 ~[?:?]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:521) ~[?:?]
    at 
org.apache.cxf.jaxrs.utils.InjectionUtils.handleParameter(InjectionUtils.java:477)
 ~[meecrowave-core-runner.jar:1.2.9]
    at 
org.apache.cxf.jaxrs.utils.InjectionUtils.createParameterObject(InjectionUtils.java:1064)
 ~[meecrowave-core-runner.jar:1.2.9]
    at 
org.apache.cxf.jaxrs.utils.JAXRSUtils.readFromUriParam(JAXRSUtils.java:1226) 
~[meecrowave-core-runner.jar:1.2.9]
    at 
org.apache.cxf.jaxrs.utils.JAXRSUtils.createHttpParameterValue(JAXRSUtils.java:925)
 ~[meecrowave-core-runner.jar:1.2.9]
    at 
org.apache.cxf.jaxrs.utils.JAXRSUtils.processParameter(JAXRSUtils.java:900) 
~[meecrowave-core-runner.jar:1.2.9]
    at 
org.apache.cxf.jaxrs.utils.JAXRSUtils.processParameters(JAXRSUtils.java:829) 
~[meecrowave-core-runner.jar:1.2.9]
    at 
org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.processRequest(JAXRSInInterceptor.java:214)
 ~[meecrowave-core-runner.jar:1.2.9]
    at 
org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.handleMessage(JAXRSInInterceptor.java:78)
 ~[meecrowave-core-runner.jar:1.2.9]
    at 
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
 ~[meecrowave-core-runner.jar:1.2.9]
    at 
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
 ~[meecrowave-core-runner.jar:1.2.9]
    at 
org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:267)
 ~[meecrowave-core-runner.jar:1.2.9]
    at 
org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:234)
 ~[meecrowave-core-runner.jar:1.2.9]
    at 
org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:208)
 ~[meecrowave-core-runner.jar:1.2.9]
    at 
org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:160)
 ~[meecrowave-core-runner.jar:1.2.9]
    at 
org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:216)
 ~[meecrowave-core-runner.jar:1.2.9]
    at 
org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:301)
 ~[meecrowave-core-runner.jar:1.2.9]
    at 
org.apache.cxf.transport.servlet.AbstractHTTPServlet.doGet(AbstractHTTPServlet.java:225)
 ~[meecrowave-core-runner.jar:1.2.9]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:634) 
~[meecrowave-core-runner.jar:1.2.9]
    at 
org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:276)
 ~[meecrowave-core-runner.jar:1.2.9]
    at 
org.apache.meecrowave.cxf.CxfCdiAutoSetup$1.doFilter(CxfCdiAutoSetup.java:122) 
~[meecrowave-core-runner.jar:1.2.9]
    at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
 ~[meecrowave-core-runner.jar:1.2.9]
    at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
 ~[meecrowave-core-runner.jar:1.2.9]
    at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
 [meecrowave-core-runner.jar:1.2.9]
    at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
 [meecrowave-core-runner.jar:1.2.9]
    at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:526)
 [meecrowave-core-runner.jar:1.2.9]
    at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) 
[meecrowave-core-runner.jar:1.2.9]
    at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) 
[meecrowave-core-runner.jar:1.2.9]
    at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
 [meecrowave-core-runner.jar:1.2.9]
    at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) 
[meecrowave-core-runner.jar:1.2.9]
    at 
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408) 
[meecrowave-core-runner.jar:1.2.9]
    at 
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
 [meecrowave-core-runner.jar:1.2.9]
    at 
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:860)
 [meecrowave-core-runner.jar:1.2.9]
    at 
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1589)
 [meecrowave-core-runner.jar:1.2.9]
    at 
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) 
[meecrowave-core-runner.jar:1.2.9]
    at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) 
[?:?]
    at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) 
[?:?]
    at 
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
 [meecrowave-core-runner.jar:1.2.9]
    at java.lang.Thread.run(Thread.java:834) [?:?]

Reply via email to