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) [?:?]
