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