Now it fails in both Jetty 9.2.2 and 8.1.15 with ClassNotFoundException: org.eclipse.jetty.servlet.ServletContextHandler$Decorator
In Jetty 8:
01:17:32.239 [Scanner-2] ERROR o.j.w.e.jetty.JettyContainer - Unable to create JettyWeldInjector. CDI injection will not be available in Servlets, Filters or Listeners
java.lang.IllegalArgumentException: Cannot load class for org.jboss.weld.environment.jetty.WeldDecorator
at org.jboss.weld.environment.servlet.util.Reflections.classForName(Reflections.java:62) ~[weld-servlet-core-2.2.5-SNAPSHOT.jar:2014-08-01 20:03]
at org.jboss.weld.environment.jetty.JettyContainer.initialize(JettyContainer.java:77) ~[weld-servlet-core-2.2.5-SNAPSHOT.jar:2014-08-01 20:03]
at org.jboss.weld.environment.servlet.WeldServletLifecycle.initialize(WeldServletLifecycle.java:127) ~[weld-servlet-core-2.2.5-SNAPSHOT.jar:2014-08-01 20:03]
at org.jboss.weld.environment.servlet.EnhancedListener.onStartup(EnhancedListener.java:62) ~[weld-servlet-core-2.2.5-SNAPSHOT.jar:2014-08-01 20:03]
at org.eclipse.jetty.plus.annotation.ContainerInitializer.callStartup(ContainerInitializer.java:106) ~[na:na]
at org.eclipse.jetty.annotations.ServletContainerInitializerListener.doStart(ServletContainerInitializerListener.java:107) [jetty-annotations-8.1.15.v20140411.jar:8.1.15.v20140411]
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) [jetty-util-8.1.15.v20140411.jar:8.1.15.v20140411]
at org.eclipse.jetty.util.component.AggregateLifeCycle.doStart(AggregateLifeCycle.java:81) [jetty-util-8.1.15.v20140411.jar:8.1.15.v20140411]
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:58) [jetty-server-8.1.15.v20140411.jar:8.1.15.v20140411]
at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:96) [jetty-server-8.1.15.v20140411.jar:8.1.15.v20140411]
at org.eclipse.jetty.server.handler.ScopedHandler.doStart(ScopedHandler.java:115) [jetty-server-8.1.15.v20140411.jar:8.1.15.v20140411]
at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:763) [jetty-server-8.1.15.v20140411.jar:8.1.15.v20140411]
at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:249) [jetty-servlet-8.1.15.v20140411.jar:8.1.15.v20140411]
at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1242) [jetty-webapp-8.1.15.v20140411.jar:8.1.15.v20140411]
at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:717) [jetty-server-8.1.15.v20140411.jar:8.1.15.v20140411]
at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:494) [jetty-webapp-8.1.15.v20140411.jar:8.1.15.v20140411]
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) [jetty-util-8.1.15.v20140411.jar:8.1.15.v20140411]
at org.eclipse.jetty.deploy.ContextDeployer.deploy(ContextDeployer.java:359) [jetty-deploy-8.1.15.v20140411.jar:8.1.15.v20140411]
at org.eclipse.jetty.deploy.ContextDeployer.access$000(ContextDeployer.java:82) [jetty-deploy-8.1.15.v20140411.jar:8.1.15.v20140411]
at org.eclipse.jetty.deploy.ContextDeployer$ScannerListener.fileAdded(ContextDeployer.java:107) [jetty-deploy-8.1.15.v20140411.jar:8.1.15.v20140411]
at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:615) [jetty-util-8.1.15.v20140411.jar:8.1.15.v20140411]
at org.eclipse.jetty.util.Scanner.reportDifferences(Scanner.java:540) [jetty-util-8.1.15.v20140411.jar:8.1.15.v20140411]
at org.eclipse.jetty.util.Scanner.scan(Scanner.java:403) [jetty-util-8.1.15.v20140411.jar:8.1.15.v20140411]
at org.eclipse.jetty.util.Scanner$1.run(Scanner.java:353) [jetty-util-8.1.15.v20140411.jar:8.1.15.v20140411]
at java.util.TimerThread.mainLoop(Timer.java:555) [na:1.7.0_60]
at java.util.TimerThread.run(Timer.java:505) [na:1.7.0_60]
Caused by: java.lang.NoClassDefFoundError: org/eclipse/jetty/servlet/ServletContextHandler$Decorator
at java.lang.ClassLoader.defineClass1(Native Method) ~[na:1.7.0_60]
at java.lang.ClassLoader.defineClass(ClassLoader.java:800) ~[na:1.7.0_60]
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) ~[na:1.7.0_60]
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) ~[na:1.7.0_60]
at java.net.URLClassLoader.access$100(URLClassLoader.java:71) ~[na:1.7.0_60]
at java.net.URLClassLoader$1.run(URLClassLoader.java:361) ~[na:1.7.0_60]
at java.net.URLClassLoader$1.run(URLClassLoader.java:355) ~[na:1.7.0_60]
at java.security.AccessController.doPrivileged(Native Method) ~[na:1.7.0_60]
at java.net.URLClassLoader.findClass(URLClassLoader.java:354) ~[na:1.7.0_60]
at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:421) ~[jetty-webapp-8.1.15.v20140411.jar:8.1.15.v20140411]
at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:383) ~[jetty-webapp-8.1.15.v20140411.jar:8.1.15.v20140411]
at org.jboss.weld.environment.servlet.util.Reflections.classForName(Reflections.java:55) ~[weld-servlet-core-2.2.5-SNAPSHOT.jar:2014-08-01 20:03]
... 25 common frames omitted
Caused by: java.lang.ClassNotFoundException: org.eclipse.jetty.servlet.ServletContextHandler$Decorator
Stacktrace in 9.2.2 looks similar.
CDI injection doesn't work in Servlets/Filters. I also use resteasy-cdi and custom javax.enterprise.inject.spi.Extension, them work fine, so CDI looks like sucessfully started.
I'll try to add appropriate classes to system classes but haven't found how to do it in jetty.xml for standard deployment mechanism because it can't be added in jetty-web.xml (classloader for webapp is already configured).
|