Thanks for your help! The class not found exception issue was due to my war
file containing a dependency on eclipselink which indirectly references a bean
validation class. Removing that library fixed the exception. I tried to add the
validation library to my war file but that did not help. The problem appears to
be due to the runner where CXF is located and the war file having different
classloaders. I am testing to see if I can create a custom or shaded runner
containing the tomcat websocket library, eclipselink, and the bean validation
library to see if that fixes my problem. I suppose I could add the libraries to
the runner classpath but I am looking for a 1 or 2 jar solution.
On that topic I tried to create a shaded war file but the dependencies were
included in both the WEB-INF/lib directory and as shaded classes. Is a fat war
supported? I have only seen examples of fat jars.
Thanks!
On Monday, November 6, 2017 9:59 AM, Romain Manni-Bucau
<[email protected]> wrote:
Did you run on java 9?
Also we don't include the websocket support by default, add this dependency:
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-websocket</artifactId>
<version>${tomcat.version}</version>
</dependency>
Romain Manni-Bucau
@rmannibucau | Blog | Old Blog | Github | LinkedIn
2017-11-06 16:30 GMT+01:00 Aaron Anderson <[email protected]>:
> Thanks, I checked out the master branch and I no longer receive this error
> when using the 1.2.0-SNAPSHOT runner version. However, I am getting a
> different error now [1]. It looks like the JSR 303 bean validation library
> is not on the runner classpath. My application does not depend on this
> interface so it must be a CFX dependency problem.
>
> Also I received some warnings about missing websocket classes:
>
> [09:06:36.373][WARN ][ main][nner.AbstractMetaDataDiscovery]
> Ignoring class [myapp.ws.JsonDecoder] because it could not be loaded:
> java.lang.NoClassDefFoundError: javax/websocket/Decoder$TextStream
> [09:06:36.375][WARN ][ main][nner.AbstractMetaDataDiscovery]
> Ignoring class [myapp.ws.WebWS] because it could not be loaded:
> java.lang.NoClassDefFoundError: Ljavax/websocket/Session;
>
> WebSocket support should be included in Tomcat 9 by default.
>
> Are these known issues with the master branch?
>
> Thanks!
>
>
> 1:
> [09:06:36.776][INFO ][ main][.webbeans.config.BeansDeployer] All
> injection points were validated successfully.
> [09:06:36.939][INFO ][ main][apache.cxf.endpoint.ServerImpl]
> Setting the server's publish address to be /rs
> [09:06:36.969][ERROR][ main][.WebBeansConfigurationListener] An
> error occurred while starting application context path : []
> [09:06:36.970][ERROR][ main][he.catalina.core.ContainerBase]
> ContainerBase.addChild: start:
> org.apache.catalina.LifecycleException: Failed to start component
> [StandardEngine[Tomcat].StandardHost[localhost].[]]
> at
> org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:441)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:740)
> [meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:716)
> [meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:703)
> [meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at org.apache.meecrowave.Meecrowave.deployWebapp(Meecrowave.java:349)
> [meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at org.apache.meecrowave.Meecrowave.deployWebapp(Meecrowave.java:202)
> [meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at org.apache.meecrowave.runner.Cli.run(Cli.java:73)
> [meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at org.apache.meecrowave.runner.Cli.main(Cli.java:84)
> [meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> Caused by: org.apache.webbeans.exception.WebBeansDeploymentException: Error
> while sending SystemEvent to a CDI Extension!
> org.apache.webbeans.portable.events.discovery.AfterDeploymentValidationImpl@48b3b1b8
> at
> org.apache.webbeans.event.NotificationManager.fireEvent(NotificationManager.java:749)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.webbeans.container.BeanManagerImpl.fireEvent(BeanManagerImpl.java:494)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.webbeans.container.BeanManagerImpl.fireLifecycleEvent(BeanManagerImpl.java:489)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.webbeans.config.BeansDeployer.fireAfterDeploymentValidationEvent(BeansDeployer.java:848)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at org.apache.webbeans.config.BeansDeployer.deploy(BeansDeployer.java:345)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.webbeans.lifecycle.AbstractLifeCycle.bootstrapApplication(AbstractLifeCycle.java:137)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.webbeans.lifecycle.AbstractLifeCycle.startApplication(AbstractLifeCycle.java:103)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.webbeans.web.lifecycle.WebContainerLifecycle.startApplication(WebContainerLifecycle.java:98)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.webbeans.servlet.WebBeansConfigurationListener.contextInitialized(WebBeansConfigurationListener.java:85)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.meecrowave.openwebbeans.OWBAutoSetup$EagerBootListener.doContextInitialized(OWBAutoSetup.java:80)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.meecrowave.openwebbeans.OWBAutoSetup$EagerBootListener.access$100(OWBAutoSetup.java:61)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.meecrowave.openwebbeans.OWBAutoSetup.onStartup(OWBAutoSetup.java:57)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.meecrowave.Meecrowave.lambda$deployWebapp$9(Meecrowave.java:260)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5094)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> ... 7 more
> Caused by: org.apache.webbeans.exception.WebBeansException:
> java.lang.NoClassDefFoundError: javax/validation/ValidationException
> at
> org.apache.webbeans.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:371)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.webbeans.event.NotificationManager.invokeObserverMethod(NotificationManager.java:832)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.webbeans.event.NotificationManager.fireEvent(NotificationManager.java:732)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.webbeans.container.BeanManagerImpl.fireEvent(BeanManagerImpl.java:494)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.webbeans.container.BeanManagerImpl.fireLifecycleEvent(BeanManagerImpl.java:489)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.webbeans.config.BeansDeployer.fireAfterDeploymentValidationEvent(BeansDeployer.java:848)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at org.apache.webbeans.config.BeansDeployer.deploy(BeansDeployer.java:345)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.webbeans.lifecycle.AbstractLifeCycle.bootstrapApplication(AbstractLifeCycle.java:137)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.webbeans.lifecycle.AbstractLifeCycle.startApplication(AbstractLifeCycle.java:103)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.webbeans.web.lifecycle.WebContainerLifecycle.startApplication(WebContainerLifecycle.java:98)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.webbeans.servlet.WebBeansConfigurationListener.contextInitialized(WebBeansConfigurationListener.java:85)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.meecrowave.openwebbeans.OWBAutoSetup$EagerBootListener.doContextInitialized(OWBAutoSetup.java:80)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.meecrowave.openwebbeans.OWBAutoSetup$EagerBootListener.access$100(OWBAutoSetup.java:61)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.meecrowave.openwebbeans.OWBAutoSetup.onStartup(OWBAutoSetup.java:57)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.meecrowave.Meecrowave.lambda$deployWebapp$9(Meecrowave.java:260)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5094)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> ... 7 more
> Caused by: java.lang.NoClassDefFoundError:
> javax/validation/ValidationException
> at java.lang.Class.getDeclaredMethods0(Native Method) ~[?:1.8.0_151]
> at java.lang.Class.privateGetDeclaredMethods(Class.java:2701) ~[?:1.8.0_151]
> at java.lang.Class.privateGetPublicMethods(Class.java:2902) ~[?:1.8.0_151]
> at java.lang.Class.getMethods(Class.java:1615) ~[?:1.8.0_151]
> at
> org.apache.cxf.jaxrs.model.AbstractResourceInfo.findContextSetterMethods(AbstractResourceInfo.java:221)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.cxf.jaxrs.model.AbstractResourceInfo.findContexts(AbstractResourceInfo.java:86)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.cxf.jaxrs.model.AbstractResourceInfo.<init>(AbstractResourceInfo.java:79)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at org.apache.cxf.jaxrs.model.ProviderInfo.<init>(ProviderInfo.java:53)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at org.apache.cxf.jaxrs.model.ProviderInfo.<init>(ProviderInfo.java:38)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at org.apache.cxf.jaxrs.model.ProviderInfo.<init>(ProviderInfo.java:34)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.cxf.jaxrs.provider.ProviderFactory.prepareProviders(ProviderFactory.java:1303)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.cxf.jaxrs.provider.ServerProviderFactory.setProviders(ServerProviderFactory.java:240)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.cxf.jaxrs.provider.ProviderFactory.setBusProviders(ProviderFactory.java:531)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.cxf.jaxrs.provider.ServerProviderFactory.createInstance(ServerProviderFactory.java:125)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.cxf.jaxrs.JAXRSServerFactoryBean.setupFactory(JAXRSServerFactoryBean.java:240)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.cxf.jaxrs.JAXRSServerFactoryBean.create(JAXRSServerFactoryBean.java:182)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.cxf.jaxrs.JAXRSServerFactoryBean.init(JAXRSServerFactoryBean.java:143)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.cxf.cdi.JAXRSCdiResourceExtension.load(JAXRSCdiResourceExtension.java:157)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> ~[?:1.8.0_151]
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> ~[?:1.8.0_151]
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> ~[?:1.8.0_151]
> at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_151]
> at
> org.apache.webbeans.event.ObserverMethodImpl.invoke(ObserverMethodImpl.java:404)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.webbeans.event.ContainerEventObserverMethodImpl.invoke(ContainerEventObserverMethodImpl.java:85)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.webbeans.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:365)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.webbeans.event.NotificationManager.invokeObserverMethod(NotificationManager.java:832)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.webbeans.event.NotificationManager.fireEvent(NotificationManager.java:732)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.webbeans.container.BeanManagerImpl.fireEvent(BeanManagerImpl.java:494)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.webbeans.container.BeanManagerImpl.fireLifecycleEvent(BeanManagerImpl.java:489)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.webbeans.config.BeansDeployer.fireAfterDeploymentValidationEvent(BeansDeployer.java:848)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at org.apache.webbeans.config.BeansDeployer.deploy(BeansDeployer.java:345)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.webbeans.lifecycle.AbstractLifeCycle.bootstrapApplication(AbstractLifeCycle.java:137)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.webbeans.lifecycle.AbstractLifeCycle.startApplication(AbstractLifeCycle.java:103)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.webbeans.web.lifecycle.WebContainerLifecycle.startApplication(WebContainerLifecycle.java:98)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.webbeans.servlet.WebBeansConfigurationListener.contextInitialized(WebBeansConfigurationListener.java:85)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.meecrowave.openwebbeans.OWBAutoSetup$EagerBootListener.doContextInitialized(OWBAutoSetup.java:80)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.meecrowave.openwebbeans.OWBAutoSetup$EagerBootListener.access$100(OWBAutoSetup.java:61)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.meecrowave.openwebbeans.OWBAutoSetup.onStartup(OWBAutoSetup.java:57)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.meecrowave.Meecrowave.lambda$deployWebapp$9(Meecrowave.java:260)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5094)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> ... 7 more
> Caused by: java.lang.ClassNotFoundException:
> javax.validation.ValidationException
> at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[?:1.8.0_151]
> at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_151]
> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
> ~[?:1.8.0_151]
> at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_151]
> at java.lang.Class.getDeclaredMethods0(Native Method) ~[?:1.8.0_151]
> at java.lang.Class.privateGetDeclaredMethods(Class.java:2701) ~[?:1.8.0_151]
> at java.lang.Class.privateGetPublicMethods(Class.java:2902) ~[?:1.8.0_151]
> at java.lang.Class.getMethods(Class.java:1615) ~[?:1.8.0_151]
> at
> org.apache.cxf.jaxrs.model.AbstractResourceInfo.findContextSetterMethods(AbstractResourceInfo.java:221)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.cxf.jaxrs.model.AbstractResourceInfo.findContexts(AbstractResourceInfo.java:86)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.cxf.jaxrs.model.AbstractResourceInfo.<init>(AbstractResourceInfo.java:79)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at org.apache.cxf.jaxrs.model.ProviderInfo.<init>(ProviderInfo.java:53)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at org.apache.cxf.jaxrs.model.ProviderInfo.<init>(ProviderInfo.java:38)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at org.apache.cxf.jaxrs.model.ProviderInfo.<init>(ProviderInfo.java:34)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.cxf.jaxrs.provider.ProviderFactory.prepareProviders(ProviderFactory.java:1303)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.cxf.jaxrs.provider.ServerProviderFactory.setProviders(ServerProviderFactory.java:240)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.cxf.jaxrs.provider.ProviderFactory.setBusProviders(ProviderFactory.java:531)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.cxf.jaxrs.provider.ServerProviderFactory.createInstance(ServerProviderFactory.java:125)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.cxf.jaxrs.JAXRSServerFactoryBean.setupFactory(JAXRSServerFactoryBean.java:240)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.cxf.jaxrs.JAXRSServerFactoryBean.create(JAXRSServerFactoryBean.java:182)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.cxf.jaxrs.JAXRSServerFactoryBean.init(JAXRSServerFactoryBean.java:143)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.cxf.cdi.JAXRSCdiResourceExtension.load(JAXRSCdiResourceExtension.java:157)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> ~[?:1.8.0_151]
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> ~[?:1.8.0_151]
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> ~[?:1.8.0_151]
> at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_151]
> at
> org.apache.webbeans.event.ObserverMethodImpl.invoke(ObserverMethodImpl.java:404)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.webbeans.event.ContainerEventObserverMethodImpl.invoke(ContainerEventObserverMethodImpl.java:85)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.webbeans.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:365)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.webbeans.event.NotificationManager.invokeObserverMethod(NotificationManager.java:832)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.webbeans.event.NotificationManager.fireEvent(NotificationManager.java:732)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.webbeans.container.BeanManagerImpl.fireEvent(BeanManagerImpl.java:494)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.webbeans.container.BeanManagerImpl.fireLifecycleEvent(BeanManagerImpl.java:489)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.webbeans.config.BeansDeployer.fireAfterDeploymentValidationEvent(BeansDeployer.java:848)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at org.apache.webbeans.config.BeansDeployer.deploy(BeansDeployer.java:345)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.webbeans.lifecycle.AbstractLifeCycle.bootstrapApplication(AbstractLifeCycle.java:137)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.webbeans.lifecycle.AbstractLifeCycle.startApplication(AbstractLifeCycle.java:103)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.webbeans.web.lifecycle.WebContainerLifecycle.startApplication(WebContainerLifecycle.java:98)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.webbeans.servlet.WebBeansConfigurationListener.contextInitialized(WebBeansConfigurationListener.java:85)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.meecrowave.openwebbeans.OWBAutoSetup$EagerBootListener.doContextInitialized(OWBAutoSetup.java:80)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.meecrowave.openwebbeans.OWBAutoSetup$EagerBootListener.access$100(OWBAutoSetup.java:61)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.meecrowave.openwebbeans.OWBAutoSetup.onStartup(OWBAutoSetup.java:57)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.meecrowave.Meecrowave.lambda$deployWebapp$9(Meecrowave.java:260)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at
> org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5094)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
> ~[meecrowave-core-1.2.0-SNAPSHOT-runner.jar:1.2.0-SNAPSHOT]
> ... 7 more
> [09:06:36.976][INFO ][ main][oyote.http11.Http11NioProtocol]
> Pausing ProtocolHandler ["http-nio-8080"]
> [09:06:37.029][INFO ][ main][.catalina.core.StandardService]
> Stopping service [Tomcat]
> [09:06:37.030][INFO ][ main][oyote.http11.Http11NioProtocol]
> Stopping ProtocolHandler ["http-nio-8080"]
> [09:06:37.032][INFO ][ main][oyote.http11.Http11NioProtocol]
> Destroying ProtocolHandler ["http-nio-8080"]
> [09:06:37.037][WARN ][ main][a.loader.WebappClassLoaderBase] The
> web application [ROOT] registered the JDBC driver
> [org.apache.derby.jdbc.AutoloadedDriver] but failed to unregister it when
> the web application was stopped. To prevent a memory leak, the JDBC Driver
> has been forcibly unregistered.
> Exception in thread "main" java.lang.IllegalStateException:
> ContainerBase.addChild: start: org.apache.catalina.LifecycleException:
> Failed to start component
> [StandardEngine[Tomcat].StandardHost[localhost].[]]
> at
> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:744)
> at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:716)
> at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:703)
> at org.apache.meecrowave.Meecrowave.deployWebapp(Meecrowave.java:349)
> at org.apache.meecrowave.Meecrowave.deployWebapp(Meecrowave.java:202)
> at org.apache.meecrowave.runner.Cli.run(Cli.java:73)
> at org.apache.meecrowave.runner.Cli.main(Cli.java:84)
>
>
>
> On Sunday, November 5, 2017 11:59 PM, Romain Manni-Bucau
> <[email protected]> wrote:
>
>
> Hi
>
> It is a fixed (on master) bug due to log4j 2 which introduced java 9 code.
> Adding to the runner a *package exclusion* of "META-INF" should workaround
> the issue. This is doable through the CLI if i recall correctly.
>
>
>
> Le 6 nov. 2017 02:31, "Aaron Anderson" <[email protected]> a écrit :
>
> I tried to run the Meecrowave runner on a simple test war file generated
> using the maven archetype utility:
>
> java -jar meecrowave-core-1.1.0-runner. jar --webapp testwar.war
>
>
> and I received the following stack trace:
>
> [19:02:55.973][INFO ][ main][g.apache.meecrowave. Meecrowave]
> --------------- http://localhost:8080
> [19:02:56.143][ERROR][ main][he.catalina.core. ContainerBase]
> ContainerBase.addChild: start:
> org.apache.catalina. LifecycleException: Failed to start component
> [StandardEngine[Tomcat]. StandardHost[localhost].[]]
> at org.apache.catalina.util. LifecycleBase. handleSubClassException(
> LifecycleBase.java:441) ~[meecrowave-core-1.1.0- runner.jar:1.1.0]
> at org.apache.catalina.util. LifecycleBase.start( LifecycleBase.java:198)
> ~[meecrowave-core-1.1.0- runner.jar:1.1.0]
> at org.apache.catalina.core. ContainerBase. addChildInternal(
> ContainerBase.java:740) [meecrowave-core-1.1.0-runner. jar:1.1.0]
> at org.apache.catalina.core. ContainerBase.addChild( ContainerBase.java:716)
> [meecrowave-core-1.1.0-runner. jar:1.1.0]
> at org.apache.catalina.core. StandardHost.addChild( StandardHost.java:703)
> [meecrowave-core-1.1.0-runner. jar:1.1.0]
> at org.apache.meecrowave. Meecrowave.deployWebapp( Meecrowave.java:349)
> [meecrowave-core-1.1.0-runner. jar:1.1.0]
> at org.apache.meecrowave. Meecrowave.deployWebapp( Meecrowave.java:202)
> [meecrowave-core-1.1.0-runner. jar:1.1.0]
> at org.apache.meecrowave.runner. Cli.run(Cli.java:73)
> [meecrowave-core-1.1.0-runner. jar:1.1.0]
> at org.apache.meecrowave.runner. Cli.main(Cli.java:84)
> [meecrowave-core-1.1.0-runner. jar:1.1.0]
> Caused by: org.apache.webbeans.exception. WebBeansDeploymentException:
> java.lang. IllegalArgumentException
> at org.apache.webbeans.corespi. scanner. AbstractMetaDataDiscovery. scan(
> AbstractMetaDataDiscovery. java:157) ~[meecrowave-core-1.1.0-
> runner.jar:1.1.0]
> at org.apache.meecrowave. openwebbeans. OWBTomcatWebScannerService. scan(
> OWBTomcatWebScannerService. java:131) ~[meecrowave-core-1.1.0-
> runner.jar:1.1.0]
> at org.apache.catalina.startup. MeecrowaveContextConfig. webConfig(
> MeecrowaveContextConfig.java: 108) ~[meecrowave-core-1.1.0-
> runner.jar:1.1.0]
> at org.apache.catalina.startup. ContextConfig.configureStart(
> ContextConfig.java:775) ~[meecrowave-core-1.1.0- runner.jar:1.1.0]
> at org.apache.catalina.startup. ContextConfig.lifecycleEvent(
> ContextConfig.java:299) ~[meecrowave-core-1.1.0- runner.jar:1.1.0]
> at org.apache.catalina.startup. MeecrowaveContextConfig. lifecycleEvent(
> MeecrowaveContextConfig.java: 133) ~[meecrowave-core-1.1.0-
> runner.jar:1.1.0]
> at org.apache.catalina.util. LifecycleBase. fireLifecycleEvent(
> LifecycleBase.java:123) ~[meecrowave-core-1.1.0- runner.jar:1.1.0]
> at org.apache.catalina.core. StandardContext.startInternal(
> StandardContext.java:5003) ~[meecrowave-core-1.1.0- runner.jar:1.1.0]
> at org.apache.catalina.util. LifecycleBase.start( LifecycleBase.java:183)
> ~[meecrowave-core-1.1.0- runner.jar:1.1.0]
> ... 7 more
> Caused by: java.lang. IllegalArgumentException
> at org.apache.xbean.asm5. ClassReader.<init>(Unknown Source)
> ~[meecrowave-core-1.1.0- runner.jar:1.1.0]
> at org.apache.xbean.asm5. ClassReader.<init>(Unknown Source)
> ~[meecrowave-core-1.1.0- runner.jar:1.1.0]
> at org.apache.xbean.asm5. ClassReader.<init>(Unknown Source)
> ~[meecrowave-core-1.1.0- runner.jar:1.1.0]
> at org.apache.xbean.finder. AnnotationFinder.readClassDef(
> AnnotationFinder.java:1169) ~[meecrowave-core-1.1.0- runner.jar:1.1.0]
> at org.apache.xbean.finder. AnnotationFinder.<init>(
> AnnotationFinder.java:147) ~[meecrowave-core-1.1.0- runner.jar:1.1.0]
> at org.apache.xbean.finder. AnnotationFinder.<init>(
> AnnotationFinder.java:160) ~[meecrowave-core-1.1.0- runner.jar:1.1.0]
> at org.apache.webbeans.corespi. scanner.xbean. OwbAnnotationFinder.<init>(
> OwbAnnotationFinder.java:37) ~[meecrowave-core-1.1.0- runner.jar:1.1.0]
> at org.apache.webbeans.corespi. scanner. AbstractMetaDataDiscovery.
> initFinder( AbstractMetaDataDiscovery. java:114) ~[meecrowave-core-1.1.0-
> runner.jar:1.1.0]
> at org.apache.webbeans.corespi. scanner. AbstractMetaDataDiscovery. scan(
> AbstractMetaDataDiscovery. java:153) ~[meecrowave-core-1.1.0-
> runner.jar:1.1.0]
> at org.apache.meecrowave. openwebbeans. OWBTomcatWebScannerService. scan(
> OWBTomcatWebScannerService. java:131) ~[meecrowave-core-1.1.0-
> runner.jar:1.1.0]
> at org.apache.catalina.startup. MeecrowaveContextConfig. webConfig(
> MeecrowaveContextConfig.java: 108) ~[meecrowave-core-1.1.0-
> runner.jar:1.1.0]
> at org.apache.catalina.startup. ContextConfig.configureStart(
> ContextConfig.java:775) ~[meecrowave-core-1.1.0- runner.jar:1.1.0]
> at org.apache.catalina.startup. ContextConfig.lifecycleEvent(
> ContextConfig.java:299) ~[meecrowave-core-1.1.0- runner.jar:1.1.0]
> at org.apache.catalina.startup. MeecrowaveContextConfig. lifecycleEvent(
> MeecrowaveContextConfig.java: 133) ~[meecrowave-core-1.1.0-
> runner.jar:1.1.0]
> at org.apache.catalina.util. LifecycleBase. fireLifecycleEvent(
> LifecycleBase.java:123) ~[meecrowave-core-1.1.0- runner.jar:1.1.0]
> at org.apache.catalina.core. StandardContext.startInternal(
> StandardContext.java:5003) ~[meecrowave-core-1.1.0- runner.jar:1.1.0]
> at org.apache.catalina.util. LifecycleBase.start( LifecycleBase.java:183)
> ~[meecrowave-core-1.1.0- runner.jar:1.1.0]
> ... 7 more
> [19:02:56.150][INFO ][ main][oyote.http11. Http11NioProtocol]
> Pausing ProtocolHandler ["http-nio-8080"]
> [19:02:56.204][INFO ][ main][.catalina.core. StandardService]
> Stopping service [Tomcat]
> [19:02:56.206][INFO ][ main][oyote.http11. Http11NioProtocol]
> Stopping ProtocolHandler ["http-nio-8080"]
> [19:02:56.208][INFO ][ main][oyote.http11. Http11NioProtocol]
> Destroying ProtocolHandler ["http-nio-8080"]
>
>
> I receive this same asm5 error from the runner on every war file I attempt
> to start on both windows and linux using JDK 9 and JDK 8. Does Meecrowave
> support loading standard JavaEE war files including Java Servlets or does it
> only exclusively support JAX-RS applications? Am I missing required
> parameters for the runner?
>
> I also tried to enable debug logging on Meecrowave and Tomcat using various
> log4j2.properties file formats to no avail. What is the process for enabling
> debug logging using the CLI runner?
>
> Thanks,
>
> Aaron
>
>
>