the easiest thing to do is to create a $jetty.home/lib/weld directory and put your weld library in there, then add 'OPTIONS=weld' in your start.ini file...then all you need is the Listener in your web.xml and it ought to just work (for Servlets and Filters, Listerners will not work but they are rare anyway to configure that way)
http://www.eclipse.org/jetty/documentation/current/framework-weld.html cheers, jesse -- jesse mcconnell [email protected] On Mon, Jul 8, 2013 at 5:14 PM, Evan Sayer <[email protected]>wrote: > Hi all, > > I've been trying to deploy an app called Guvnor (version 5.5.0, > http://www.jboss.org/drools/drools-guvnor.html) under Jetty 8, which is > built/tested to run under JBoss. I'm running into the following stack > trace on startup: > > ERROR 27-06 04:13:58,475 (JettyPost72Container.java:initialize:72) > 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:58) > at > org.jboss.weld.environment.jetty.JettyPost72Container.initialize(JettyPost72Container.java:66) > at > org.jboss.weld.environment.servlet.Listener.contextInitialized(Listener.java:162) > at > org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:746) > at > org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:238) > at > org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1240) > at > org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:689) > at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:482) > at > org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) > at > org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding(StandardStarter.java:39) > at > org.eclipse.jetty.deploy.AppLifeCycle.runBindings(AppLifeCycle.java:186) > at > org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(DeploymentManager.java:494) > at > org.eclipse.jetty.deploy.DeploymentManager.addApp(DeploymentManager.java:141) > at > org.eclipse.jetty.deploy.providers.ScanningAppProvider.fileAdded(ScanningAppProvider.java:145) > at > org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(ScanningAppProvider.java:56) > at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:615) > at org.eclipse.jetty.util.Scanner.reportDifferences(Scanner.java:540) > at org.eclipse.jetty.util.Scanner.scan(Scanner.java:403) > at org.eclipse.jetty.util.Scanner.doStart(Scanner.java:337) > at > org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) > at > org.eclipse.jetty.deploy.providers.ScanningAppProvider.doStart(ScanningAppProvider.java:121) > at > org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) > at > org.eclipse.jetty.deploy.DeploymentManager.startAppProvider(DeploymentManager.java:555) > at > org.eclipse.jetty.deploy.DeploymentManager.doStart(DeploymentManager.java:230) > at > org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) > at > org.eclipse.jetty.util.component.AggregateLifeCycle.doStart(AggregateLifeCycle.java:81) > at > org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:58) > at > org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:96) > at org.eclipse.jetty.server.Server.doStart(Server.java:281) > at > org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) > at > org.eclipse.jetty.xml.XmlConfiguration$1.run(XmlConfiguration.java:1259) > at java.security.AccessController.doPrivileged(Native Method) > at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:1182) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:606) > at org.eclipse.jetty.start.Main.invokeMain(Main.java:473) > at org.eclipse.jetty.start.Main.start(Main.java:615) > at org.eclipse.jetty.start.Main.main(Main.java:96) > Caused by: java.lang.NoClassDefFoundError: > org/eclipse/jetty/servlet/ServletContextHandler$Decorator > at java.lang.ClassLoader.defineClass1(Native Method) > at java.lang.ClassLoader.defineClass(ClassLoader.java:792) > at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) > at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) > at java.net.URLClassLoader.access$100(URLClassLoader.java:71) > at java.net.URLClassLoader$1.run(URLClassLoader.java:361) > at java.net.URLClassLoader$1.run(URLClassLoader.java:355) > at java.security.AccessController.doPrivileged(Native Method) > at java.net.URLClassLoader.findClass(URLClassLoader.java:354) > at > org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:421) > at > org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:383) > at > org.jboss.weld.environment.servlet.util.Reflections.classForName(Reflections.java:51) > ... 39 more > Caused by: java.lang.ClassNotFoundException: > org.eclipse.jetty.servlet.ServletContextHandler$Decorator > at java.net.URLClassLoader$1.run(URLClassLoader.java:366) > at java.net.URLClassLoader$1.run(URLClassLoader.java:355) > at java.security.AccessController.doPrivileged(Native Method) > at java.net.URLClassLoader.findClass(URLClassLoader.java:354) > at > org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:421) > at > org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:383) > ... 51 more > ERROR 27-06 04:14:02,198 (JettyPost72Container.java:initialize:72) > 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:58) > at > org.jboss.weld.environment.jetty.JettyPost72Container.initialize(JettyPost72Container.java:66) > at > org.jboss.weld.environment.servlet.Listener.contextInitialized(Listener.java:162) > at > org.drools.guvnor.server.repository.SafeWeldListener.contextInitialized(SafeWeldListener.java:54) > at > org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:746) > at > org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:238) > at > org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1240) > at > org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:689) > at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:482) > at > org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) > at > org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding(StandardStarter.java:39) > at > org.eclipse.jetty.deploy.AppLifeCycle.runBindings(AppLifeCycle.java:186) > at > org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(DeploymentManager.java:494) > at > org.eclipse.jetty.deploy.DeploymentManager.addApp(DeploymentManager.java:141) > at > org.eclipse.jetty.deploy.providers.ScanningAppProvider.fileAdded(ScanningAppProvider.java:145) > at > org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(ScanningAppProvider.java:56) > at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:615) > at org.eclipse.jetty.util.Scanner.reportDifferences(Scanner.java:540) > at org.eclipse.jetty.util.Scanner.scan(Scanner.java:403) > at org.eclipse.jetty.util.Scanner.doStart(Scanner.java:337) > at > org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) > at > org.eclipse.jetty.deploy.providers.ScanningAppProvider.doStart(ScanningAppProvider.java:121) > at > org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) > at > org.eclipse.jetty.deploy.DeploymentManager.startAppProvider(DeploymentManager.java:555) > at > org.eclipse.jetty.deploy.DeploymentManager.doStart(DeploymentManager.java:230) > at > org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) > at > org.eclipse.jetty.util.component.AggregateLifeCycle.doStart(AggregateLifeCycle.java:81) > at > org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:58) > at > org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:96) > at org.eclipse.jetty.server.Server.doStart(Server.java:281) > at > org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) > at > org.eclipse.jetty.xml.XmlConfiguration$1.run(XmlConfiguration.java:1259) > at java.security.AccessController.doPrivileged(Native Method) > at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:1182) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:606) > at org.eclipse.jetty.start.Main.invokeMain(Main.java:473) > at org.eclipse.jetty.start.Main.start(Main.java:615) > at org.eclipse.jetty.start.Main.main(Main.java:96) > Caused by: java.lang.NoClassDefFoundError: > org/eclipse/jetty/servlet/ServletContextHandler$Decorator > at java.lang.ClassLoader.defineClass1(Native Method) > at java.lang.ClassLoader.defineClass(ClassLoader.java:792) > at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) > at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) > at java.net.URLClassLoader.access$100(URLClassLoader.java:71) > at java.net.URLClassLoader$1.run(URLClassLoader.java:361) > at java.net.URLClassLoader$1.run(URLClassLoader.java:355) > at java.security.AccessController.doPrivileged(Native Method) > at java.net.URLClassLoader.findClass(URLClassLoader.java:354) > at > org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:421) > at > org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:383) > at > org.jboss.weld.environment.servlet.util.Reflections.classForName(Reflections.java:51) > ... 40 more > Caused by: java.lang.ClassNotFoundException: > org.eclipse.jetty.servlet.ServletContextHandler$Decorator > at java.net.URLClassLoader$1.run(URLClassLoader.java:366) > at java.net.URLClassLoader$1.run(URLClassLoader.java:355) > at java.security.AccessController.doPrivileged(Native Method) > at java.net.URLClassLoader.findClass(URLClassLoader.java:354) > at > org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:421) > at > org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:383) > ... 52 more > > > Here's what I've tried so far to fix this, based on Googling around and > reading through other folks' attempts to deploy apps relying on WELD under > Jetty: > > 1) adding the following to Guvnor's web.xml: > > > <listener> > <listener-class>org.jboss.weld.environment.servlet.Listener</listener-class> > </listener> > > 2) creating jetty-env.xml inside Guvnor's WEB-INF with these contents: > > <?xml version="1.0" encoding="UTF-8"?> > <!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" > "http://jetty.mortbay.org/configure.dtd"> > > <Configure id="webAppCtx" class="org.mortbay.jetty.webapp.WebAppContext"> > <New id="BeanManager" class="org.mortbay.jetty.plus.naming.Resource"> > <Arg> > <Ref id="webAppCtx"/> > </Arg> > <Arg>BeanManager</Arg> > <Arg> > <New class="javax.naming.Reference"> > <Arg>javax.enterprise.inject.spi.BeanManager</Arg> > <Arg>org.jboss.weld.resources.ManagerObjectFactory</Arg> > <Arg/> > </New> > </Arg> > </New> > </Configure> > > The app does technically deploy with these additions, but I get the stack > trace above and the Guvnor UI just shows a "fatal error" message. Any > hints on what I need to do? > > Thanks > > -- Evan > > > _______________________________________________ > jetty-users mailing list > [email protected] > https://dev.eclipse.org/mailman/listinfo/jetty-users > >
_______________________________________________ jetty-users mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/jetty-users
