openwebbeans-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Aaron Anderson <aaronander...@acm.org>
Subject Re: Meecrowave 1.1.0 runner error
Date Mon, 06 Nov 2017 20:24:00 GMT
Thanks again for your assistance. Adding the tomcat-websocket dependency to my runner project
fixed the websocket warning.  I was able to solve the eclipse validation issue by creating
a meecrowave.properties file including the line:scanning-package-exclude=org.eclipse.persistence

Besides the missing validation dependency the new eclipselink version includes a bunch of
JPA REST endpoints I had no interest in deploying. I now have a custom runner project that
shades the meecrowave-core project along with my other common runtime dependencies and a separate
trimmed down application war file that is running fine. 
I am very pleased with the results and efficiency of Meecrowave! I am working on a client
side application and instead of building a native client using JavaFX I am trying to build
a minimal local web server using JAX-RS and the Google Polymer web component framework. I
originally built the application using WildFly Swarm but the resulting single jar file was
almost 140MB. Since I want to support version checks and automatic update downloads the file
size was concerning. Now with Meecrowave I have all of the same functionality plus a 24MB
runner that I can update independently from a 12MB application that are much more manageable
to update.
Once I get my application working I will share a basic outline of it on Github.
Thanks for the quality work!
Aaron

 

    On Monday, November 6, 2017 1:19 PM, Romain Manni-Bucau <rmannibucau@gmail.com>
wrote:
 

 2017-11-06 18:55 GMT+01:00 Aaron Anderson <aaronanderson@acm.org>:
> 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.

I do a shade with it so it sounds doable. meecrowave:bundle also works
well and is saner for prod deployments in general.

>
> 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.
>

It should if you put at the root of the war all the runner classes and
keep the standard war structure. Pitfall: all the classes are
available as web resources which is not something you wish probably.
You can workaround it with some tomcat web resource tuning in
context.xml but not sure the gain is huge enough to justify it.

> Thanks!
>
>
>
>
> On Monday, November 6, 2017 9:59 AM, Romain Manni-Bucau
> <rmannibucau@gmail.com> 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 <aaronanderson@acm.org>:
>> 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
>> <rmannibucau@gmail.com> 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" <aaronanderson@acm.org> 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
>>
>>
>>
>
>

   
Mime
View raw message