weld documentation tells you to do this differently. https://docs.jboss.org/weld/reference/latest/en-US/html/environments.html#_jetty
1) you cannot use jetty-context.xml to configure the WebApp's ClassLoader (that's too late) 2) you cannot use Set>serverClasses>Array (as that will destroy the existing and important list of serverClasses), the calls should add/prepend. 3) CDI/Weld requires a current generation JSP + EL, which you don't seem to have. you seem to want to use Glassfish JSP/EL, which is unsupported by Jetty (they are far too old and bug ridden). use Apache Jasper JSP + EL. (our jetty-home and jetty-distribution modules for JSP use them) Consider http://search.maven.org/#artifactdetails%7Corg.eclipse.jetty%7Capache-jsp%7C9.4.6.v20170531%7Cjar 4) your DTD references are old, not suitable for Jetty 9.0+ since you are Jetty 9.4.x, use ... <!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" " http://www.eclipse.org/jetty/configure_9_3.dtd"> 5) Would recommend you add jul-to-slf4j.jar and setup/configure it too. That way you can see the warnings/errors from weld/jsp/el as well in your logback logs. https://www.slf4j.org/legacy.html#jul-to-slf4j Joakim Erdfelt / [email protected] On Wed, Jul 5, 2017 at 8:17 AM, Steve Sobol - Lobos Studios < [email protected]> wrote: > I am at my wits’ end. > > > > Details: > > > > Jetty 9.4.6.v20170531 > > Weld 2.4.4 Final (latest stable version) > > JSF 2.3.2 > > > > Things seem to work great with Weld running. But then when I add the JSF > jar, > > > > "C:\Program Files\Java\jdk1.8.0_112\bin\java" -DSTOP.PORT=0 > -Dcom.sun.management.jmxremote= -Dcom.sun.management.jmxremote.port=1099 > -Dcom.sun.management.jmxremote.authenticate=false > -Dcom.sun.management.jmxremote.ssl=false > -DOPTIONS=jmx "-javaagent:C:\Program Files (x86)\JetBrains\IntelliJ IDEA > 2017.1\lib\idea_rt.jar=52575:C:\Program Files (x86)\JetBrains\IntelliJ > IDEA 2017.1\bin" -Dfile.encoding=windows-1252 -classpath > "c:\jetty\start.jar;C:\Program Files\Java\jdk1.8.0_112\lib\tools.jar" > org.eclipse.jetty.start.Main --module=jmx C:\Users\sjsobol\AppData\ > Local\Temp\context2config\jetty-contexts.xml > > [2017-07-05 08:01:08,640] Artifact lobos360_main:war exploded: Server is > not connected. Deploy is not available. > > Detected server http port: 8080 > > 2017-07-05 08:01:09.950:INFO::main: Logging initialized @1255ms to > org.eclipse.jetty.util.log.StdErrLog > > STOP.PORT=52587 > > 2017-07-05 08:01:10.409:INFO:oejs.Server:main: jetty-9.4.6.v20170531 > > STOP.KEY=1k0qgcm240hds > > 2017-07-05 08:01:10.436:INFO:oejdp.ScanningAppProvider:main: Deployment > monitor [file:///C:/jettybase/webapps/] at interval 1 > > 2017-07-05 08:01:10.447:INFO:oejdp.ScanningAppProvider:main: Deployment > monitor [file:///C:/Users/sjsobol/AppData/Local/Temp/context2deploy/] at > interval 1 > > 2017-07-05 08:01:10.508:INFO:oejus.SslContextFactory:main: > x509=X509@1e965684(admin-bamidbar,h=[admin.bamidbarconnect.com, > www.admin.bamidbarconnect.com],w=[]) for SslContextFactory@396f6598( > file:///C:/jettybase/etc/dev.jks,null) > > 2017-07-05 08:01:10.511:INFO:oejus.SslContextFactory:main: > x509=X509@4d95d2a2(360-lobos,h=[360.lobosstudios.com, > www.360.lobosstudios.com],w=[]) for SslContextFactory@396f6598( > file:///C:/jettybase/etc/dev.jks,null) > > 2017-07-05 08:01:10.789:INFO:oejus.SslContextFactory:main: No Cipher > matching 'TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256,' is supported > > 2017-07-05 08:01:10.802:INFO:oejus.SslContextFactory:main: No Cipher > matching 'TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA' is supported > > 2017-07-05 08:01:10.812:INFO:oejs.AbstractConnector:main: Started > ServerConnector@3327bd23{SSL,[ssl, http/1.1]}{0.0.0.0:443} > > 2017-07-05 08:01:10.813:INFO:oejs.Server:main: Started @2118ms > > Connected to server > > [2017-07-05 08:01:10,859] Artifact lobos360_main:war exploded: Artifact is > being deployed, please wait... > > 2017-07-05 08:01:14.019:INFO:oeja.AnnotationConfiguration:Scanner-1: > Scanning elapsed time=1154ms > > Jul 05, 2017 8:01:14 AM org.jboss.weld.environment.servlet.EnhancedListener > onStartup > > INFO: WELD-ENV-001008: Initialize Weld using ServletContainerInitializer > > Jul 05, 2017 8:01:14 AM org.jboss.weld.bootstrap.WeldStartup <clinit> > > INFO: WELD-000900: 2.4.3 (Final) > > Jul 05, 2017 8:01:14 AM org.jboss.weld.bootstrap.WeldStartup > startContainer > > INFO: WELD-000101: Transactional services not available. Injection of > @Inject UserTransaction not available. Transactional observers will be > invoked synchronously. > > Jul 05, 2017 8:01:15 AM > org.jboss.weld.environment.servlet.WeldServletLifecycle > findContainer > > INFO: WELD-ENV-001002: Container detection skipped - custom container > class loaded: org.jboss.weld.environment.jetty.JettyContainer. > > Jul 05, 2017 8:01:15 AM org.jboss.weld.environment.jetty.JettyContainer > initialize > > INFO: WELD-ENV-001200: Jetty 7.2+ detected, CDI injection will be > available in Servlets and Filters. Injection into Listeners should work on > Jetty 9.1.1 and newer. > > 2017-07-05 08:01:16.472:INFO:oejs.session:Scanner-1: > DefaultSessionIdManager workerName=node0 > > 2017-07-05 08:01:16.473:INFO:oejs.session:Scanner-1: No SessionScavenger > set, using defaults > > 2017-07-05 08:01:16.474:INFO:oejs.session:Scanner-1: Scavenging every > 660000ms > > Jul 05, 2017 8:01:16 AM org.jboss.weld.environment.servlet.Listener > contextInitialized > > INFO: WELD-ENV-001006: org.jboss.weld.environment.servlet.EnhancedListener > used to initialize Weld > > Jul 05, 2017 8:01:16 AM org.jboss.weld.environment.servlet.EnhancedListener > contextInitialized > > INFO: WELD-ENV-001009: org.jboss.weld.environment.servlet.Listener used > for ServletRequest and HttpSession notifications > > Jul 05, 2017 8:01:16 AM com.sun.faces.config.ConfigureListener > contextInitialized > > INFO: Initializing Mojarra 2.3.2 ( 20170627-2139 > e63598abf2ed2bb1a24674f308a734e0dce18a72) for context '' > > Jul 05, 2017 8:01:16 AM com.sun.faces.spi.InjectionProviderFactory > createInstance > > INFO: JSF1048: PostConstruct/PreDestroy annotations present. ManagedBeans > methods marked with these annotations will have said annotations processed. > > Jul 05, 2017 8:01:17 AM com.sun.faces.config.ConfigureListener > contextInitialized > > SEVERE: Critical error during deployment: > > java.lang.NoClassDefFoundError: javax/faces/application/ApplicationFactory > > at java.lang.ClassLoader.defineClass1(Native Method) > > at java.lang.ClassLoader.defineClass(ClassLoader.java:763) > > at java.security.SecureClassLoader.defineClass( > SecureClassLoader.java:142) > > at java.net.URLClassLoader.defineClass(URLClassLoader.java:467) > > at java.net.URLClassLoader.access$100(URLClassLoader.java:73) > > at java.net.URLClassLoader$1.run(URLClassLoader.java:368) > > at java.net.URLClassLoader$1.run(URLClassLoader.java:362) > > at java.security.AccessController.doPrivileged(Native Method) > > at java.net.URLClassLoader.findClass(URLClassLoader.java:361) > > at java.lang.ClassLoader.loadClass(ClassLoader.java:424) > > at java.lang.ClassLoader.loadClass(ClassLoader.java:357) > > at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass( > WebAppClassLoader.java:560) > > at java.lang.ClassLoader.loadClass(ClassLoader.java:357) > > at java.lang.Class.forName0(Native Method) > > at java.lang.Class.forName(Class.java:348) > > at javax.faces.FactoryFinderInstance.getImplGivenPreviousImpl( > FactoryFinderInstance.java:368) > > at javax.faces.FactoryFinderInstance.getImplementationInstance( > FactoryFinderInstance.java:274) > > at javax.faces.FactoryFinderInstance.getFactory( > FactoryFinderInstance.java:529) > > at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:292) > > at com.sun.faces.config.processor.FactoryConfigProcessor. > verifyFactoriesExist(FactoryConfigProcessor.java:354) > > at com.sun.faces.config.processor.FactoryConfigProcessor.process( > FactoryConfigProcessor.java:243) > > at com.sun.faces.config.ConfigManager.initialize( > ConfigManager.java:443) > > at com.sun.faces.config.ConfigureListener.contextInitialized( > ConfigureListener.java:237) > > at org.eclipse.jetty.server.handler.ContextHandler. > callContextInitialized(ContextHandler.java:890) > > at org.eclipse.jetty.servlet.ServletContextHandler. > callContextInitialized(ServletContextHandler.java:532) > > at org.eclipse.jetty.server.handler.ContextHandler. > startContext(ContextHandler.java:853) > > at org.eclipse.jetty.servlet.ServletContextHandler.startContext( > ServletContextHandler.java:344) > > at org.eclipse.jetty.webapp.WebAppContext.startWebapp( > WebAppContext.java:1501) > > at org.eclipse.jetty.webapp.WebAppContext.startContext( > WebAppContext.java:1463) > > at org.eclipse.jetty.server.handler.ContextHandler. > doStart(ContextHandler.java:785) > > at org.eclipse.jetty.servlet.ServletContextHandler.doStart( > ServletContextHandler.java:261) > > at org.eclipse.jetty.webapp.WebAppContext.doStart( > WebAppContext.java:545) > > at org.eclipse.jetty.util.component.AbstractLifeCycle. > start(AbstractLifeCycle.java:68) > > at org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding( > StandardStarter.java:41) > > at org.eclipse.jetty.deploy.AppLifeCycle.runBindings( > AppLifeCycle.java:188) > > at org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal( > DeploymentManager.java:502) > > at org.eclipse.jetty.deploy.DeploymentManager.addApp( > DeploymentManager.java:150) > > at org.eclipse.jetty.deploy.providers.ScanningAppProvider. > fileAdded(ScanningAppProvider.java:180) > > at org.eclipse.jetty.deploy.providers.WebAppProvider. > fileAdded(WebAppProvider.java:453) > > at org.eclipse.jetty.deploy.providers.ScanningAppProvider$ > 1.fileAdded(ScanningAppProvider.java:64) > > at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:610) > > at org.eclipse.jetty.util.Scanner.reportDifferences( > Scanner.java:529) > > at org.eclipse.jetty.util.Scanner.scan(Scanner.java:392) > > at org.eclipse.jetty.util.Scanner$1.run(Scanner.java:329) > > at java.util.TimerThread.mainLoop(Timer.java:555) > > at java.util.TimerThread.run(Timer.java:505) > > Caused by: java.lang.ClassNotFoundException: javax.faces.application. > ApplicationFactory > > at java.net.URLClassLoader.findClass(URLClassLoader.java:381) > > at java.lang.ClassLoader.loadClass(ClassLoader.java:424) > > at java.lang.ClassLoader.loadClass(ClassLoader.java:357) > > ... 46 more > > > > 2017-07-05 08:01:17.014:WARN:oejw.WebAppContext:Scanner-1: Failed startup > of context > o.e.j.w.WebAppContext@31080236{/,[file:///D:/data/sw/lobos360/out/web/, > jar:file:///D:/data/sw/lobos360/out/web/WEB-INF/lib/ > javax.faces-2.3.2.jar!/META-INF/resources],UNAVAILABLE} > > java.lang.RuntimeException: java.lang.NoClassDefFoundError: > javax/faces/application/ApplicationFactory > > at com.sun.faces.config.ConfigureListener.contextInitialized( > ConfigureListener.java:315) > > at org.eclipse.jetty.server.handler.ContextHandler. > callContextInitialized(ContextHandler.java:890) > > at org.eclipse.jetty.servlet.ServletContextHandler. > callContextInitialized(ServletContextHandler.java:532) > > at org.eclipse.jetty.server.handler.ContextHandler. > startContext(ContextHandler.java:853) > > at org.eclipse.jetty.servlet.ServletContextHandler.startContext( > ServletContextHandler.java:344) > > at org.eclipse.jetty.webapp.WebAppContext.startWebapp( > WebAppContext.java:1501) > > at org.eclipse.jetty.webapp.WebAppContext.startContext( > WebAppContext.java:1463) > > at org.eclipse.jetty.server.handler.ContextHandler. > doStart(ContextHandler.java:785) > > at org.eclipse.jetty.servlet.ServletContextHandler.doStart( > ServletContextHandler.java:261) > > at org.eclipse.jetty.webapp.WebAppContext.doStart( > WebAppContext.java:545) > > at org.eclipse.jetty.util.component.AbstractLifeCycle. > start(AbstractLifeCycle.java:68) > > at org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding( > StandardStarter.java:41) > > at org.eclipse.jetty.deploy.AppLifeCycle.runBindings( > AppLifeCycle.java:188) > > at org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal( > DeploymentManager.java:502) > > at org.eclipse.jetty.deploy.DeploymentManager.addApp( > DeploymentManager.java:150) > > at org.eclipse.jetty.deploy.providers.ScanningAppProvider. > fileAdded(ScanningAppProvider.java:180) > > at org.eclipse.jetty.deploy.providers.WebAppProvider. > fileAdded(WebAppProvider.java:453) > > at org.eclipse.jetty.deploy.providers.ScanningAppProvider$ > 1.fileAdded(ScanningAppProvider.java:64) > > at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:610) > > at org.eclipse.jetty.util.Scanner.reportDifferences( > Scanner.java:529) > > at org.eclipse.jetty.util.Scanner.scan(Scanner.java:392) > > at org.eclipse.jetty.util.Scanner$1.run(Scanner.java:329) > > at java.util.TimerThread.mainLoop(Timer.java:555) > > at java.util.TimerThread.run(Timer.java:505) > > Caused by: > > java.lang.NoClassDefFoundError: javax/faces/application/ApplicationFactory > > at java.lang.ClassLoader.defineClass1(Native Method) > > at java.lang.ClassLoader.defineClass(ClassLoader.java:763) > > at java.security.SecureClassLoader.defineClass( > SecureClassLoader.java:142) > > at java.net.URLClassLoader.defineClass(URLClassLoader.java:467) > > at java.net.URLClassLoader.access$100(URLClassLoader.java:73) > > at java.net.URLClassLoader$1.run(URLClassLoader.java:368) > > at java.net.URLClassLoader$1.run(URLClassLoader.java:362) > > at java.security.AccessController.doPrivileged(Native Method) > > at java.net.URLClassLoader.findClass(URLClassLoader.java:361) > > at java.lang.ClassLoader.loadClass(ClassLoader.java:424) > > at java.lang.ClassLoader.loadClass(ClassLoader.java:357) > > at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass( > WebAppClassLoader.java:560) > > at java.lang.ClassLoader.loadClass(ClassLoader.java:357) > > at java.lang.Class.forName0(Native Method) > > at java.lang.Class.forName(Class.java:348) > > at javax.faces.FactoryFinderInstance.getImplGivenPreviousImpl( > FactoryFinderInstance.java:368) > > at javax.faces.FactoryFinderInstance.getImplementationInstance( > FactoryFinderInstance.java:274) > > at javax.faces.FactoryFinderInstance.getFactory( > FactoryFinderInstance.java:529) > > at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:292) > > at com.sun.faces.config.processor.FactoryConfigProcessor. > verifyFactoriesExist(FactoryConfigProcessor.java:354) > > at com.sun.faces.config.processor.FactoryConfigProcessor.process( > FactoryConfigProcessor.java:243) > > at com.sun.faces.config.ConfigManager.initialize( > ConfigManager.java:443) > > at com.sun.faces.config.ConfigureListener.contextInitialized( > ConfigureListener.java:237) > > at org.eclipse.jetty.server.handler.ContextHandler. > callContextInitialized(ContextHandler.java:890) > > at org.eclipse.jetty.servlet.ServletContextHandler. > callContextInitialized(ServletContextHandler.java:532) > > at org.eclipse.jetty.server.handler.ContextHandler. > startContext(ContextHandler.java:853) > > at org.eclipse.jetty.servlet.ServletContextHandler.startContext( > ServletContextHandler.java:344) > > at org.eclipse.jetty.webapp.WebAppContext.startWebapp( > WebAppContext.java:1501) > > at org.eclipse.jetty.webapp.WebAppContext.startContext( > WebAppContext.java:1463) > > at org.eclipse.jetty.server.handler.ContextHandler. > doStart(ContextHandler.java:785) > > at org.eclipse.jetty.servlet.ServletContextHandler.doStart( > ServletContextHandler.java:261) > > at org.eclipse.jetty.webapp.WebAppContext.doStart( > WebAppContext.java:545) > > at org.eclipse.jetty.util.component.AbstractLifeCycle. > start(AbstractLifeCycle.java:68) > > at org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding( > StandardStarter.java:41) > > at org.eclipse.jetty.deploy.AppLifeCycle.runBindings( > AppLifeCycle.java:188) > > at org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal( > DeploymentManager.java:502) > > at org.eclipse.jetty.deploy.DeploymentManager.addApp( > DeploymentManager.java:150) > > at org.eclipse.jetty.deploy.providers.ScanningAppProvider. > fileAdded(ScanningAppProvider.java:180) > > at org.eclipse.jetty.deploy.providers.WebAppProvider. > fileAdded(WebAppProvider.java:453) > > at org.eclipse.jetty.deploy.providers.ScanningAppProvider$ > 1.fileAdded(ScanningAppProvider.java:64) > > at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:610) > > at org.eclipse.jetty.util.Scanner.reportDifferences( > Scanner.java:529) > > at org.eclipse.jetty.util.Scanner.scan(Scanner.java:392) > > at org.eclipse.jetty.util.Scanner$1.run(Scanner.java:329) > > at java.util.TimerThread.mainLoop(Timer.java:555) > > at java.util.TimerThread.run(Timer.java:505) > > Caused by: > > java.lang.ClassNotFoundException: javax.faces.application. > ApplicationFactory > > at java.net.URLClassLoader.findClass(URLClassLoader.java:381) > > at java.lang.ClassLoader.loadClass(ClassLoader.java:424) > > at java.lang.ClassLoader.loadClass(ClassLoader.java:357) > > at java.lang.ClassLoader.defineClass1(Native Method) > > at java.lang.ClassLoader.defineClass(ClassLoader.java:763) > > at java.security.SecureClassLoader.defineClass( > SecureClassLoader.java:142) > > at java.net.URLClassLoader.defineClass(URLClassLoader.java:467) > > at java.net.URLClassLoader.access$100(URLClassLoader.java:73) > > at java.net.URLClassLoader$1.run(URLClassLoader.java:368) > > at java.net.URLClassLoader$1.run(URLClassLoader.java:362) > > at java.security.AccessController.doPrivileged(Native Method) > > at java.net.URLClassLoader.findClass(URLClassLoader.java:361) > > at java.lang.ClassLoader.loadClass(ClassLoader.java:424) > > at java.lang.ClassLoader.loadClass(ClassLoader.java:357) > > at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass( > WebAppClassLoader.java:560) > > at java.lang.ClassLoader.loadClass(ClassLoader.java:357) > > at java.lang.Class.forName0(Native Method) > > at java.lang.Class.forName(Class.java:348) > > at javax.faces.FactoryFinderInstance.getImplGivenPreviousImpl( > FactoryFinderInstance.java:368) > > at javax.faces.FactoryFinderInstance.getImplementationInstance( > FactoryFinderInstance.java:274) > > at javax.faces.FactoryFinderInstance.getFactory( > FactoryFinderInstance.java:529) > > at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:292) > > at com.sun.faces.config.processor.FactoryConfigProcessor. > verifyFactoriesExist(FactoryConfigProcessor.java:354) > > at com.sun.faces.config.processor.FactoryConfigProcessor.process( > FactoryConfigProcessor.java:243) > > at com.sun.faces.config.ConfigManager.initialize( > ConfigManager.java:443) > > at com.sun.faces.config.ConfigureListener.contextInitialized( > ConfigureListener.java:237) > > at org.eclipse.jetty.server.handler.ContextHandler. > callContextInitialized(ContextHandler.java:890) > > at org.eclipse.jetty.servlet.ServletContextHandler. > callContextInitialized(ServletContextHandler.java:532) > > at org.eclipse.jetty.server.handler.ContextHandler. > startContext(ContextHandler.java:853) > > at org.eclipse.jetty.servlet.ServletContextHandler.startContext( > ServletContextHandler.java:344) > > at org.eclipse.jetty.webapp.WebAppContext.startWebapp( > WebAppContext.java:1501) > > at org.eclipse.jetty.webapp.WebAppContext.startContext( > WebAppContext.java:1463) > > at org.eclipse.jetty.server.handler.ContextHandler. > doStart(ContextHandler.java:785) > > at org.eclipse.jetty.servlet.ServletContextHandler.doStart( > ServletContextHandler.java:261) > > at org.eclipse.jetty.webapp.WebAppContext.doStart( > WebAppContext.java:545) > > at org.eclipse.jetty.util.component.AbstractLifeCycle. > start(AbstractLifeCycle.java:68) > > at org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding( > StandardStarter.java:41) > > at org.eclipse.jetty.deploy.AppLifeCycle.runBindings( > AppLifeCycle.java:188) > > at org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal( > DeploymentManager.java:502) > > at org.eclipse.jetty.deploy.DeploymentManager.addApp( > DeploymentManager.java:150) > > at org.eclipse.jetty.deploy.providers.ScanningAppProvider. > fileAdded(ScanningAppProvider.java:180) > > at org.eclipse.jetty.deploy.providers.WebAppProvider. > fileAdded(WebAppProvider.java:453) > > at org.eclipse.jetty.deploy.providers.ScanningAppProvider$ > 1.fileAdded(ScanningAppProvider.java:64) > > at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:610) > > at org.eclipse.jetty.util.Scanner.reportDifferences( > Scanner.java:529) > > at org.eclipse.jetty.util.Scanner.scan(Scanner.java:392) > > at org.eclipse.jetty.util.Scanner$1.run(Scanner.java:329) > > at java.util.TimerThread.mainLoop(Timer.java:555) > > at java.util.TimerThread.run(Timer.java:505) > > [2017-07-05 08:01:17,074] Artifact lobos360_main:war exploded: Artifact is > deployed successfully > > [2017-07-05 08:01:17,074] Artifact lobos360_main:war exploded: Deploy took > 6,216 milliseconds > > > > I’m launching the site using the IntelliJ IDEA Jetty plugin. Here’s my > build.gradle: > > > > group > *'com.lobosstudios'*version > > *'0.1'*apply *plugin*: > > *'java'*repositories { > mavenCentral() > } > > configurations.*compile *{ > resolutionStrategy { > force > *'org.glassfish:javax.el:3.0.0' *} > } > dependencies { > > > *// Servlet/JSP/JSF/EL *compileOnly *group*: *'javax.servlet'*, *name*: > *'javax.servlet-api'*, *version*: > *'3.1.0' *compile *group*: *'org.glassfish'*, *name*: *'javax.faces'*, > *version*: > *'2.3.2' *compile *group*: *'org.glassfish'*, *name*: *'javax.el'*, > *version*: > > *'3.0.0' * > *// CDI *compileOnly *group*: *'javax.enterprise'*, *name*: *'cdi-api'*, > *version*: > *'1.2' *compileOnly *group*: *'javax.inject'*, *name*: *'javax.inject'*, > *version*: > *'1' *compileOnly *group*: *'org.jboss.weld'*, *name*: *'weld-core'*, > *version*: > *'2.4.4.Final' *compileOnly *group*: *'org.jboss.weld.environment'*, > *name*: *'weld-environment-common'*, *version*: > *'2.4.4.Final' *compileOnly *group*: *'org.jboss.weld.servlet'*, *name*: > *'weld-servlet-core'*, *version*: > *'2.4.4.Final' *compileOnly *group*: *'org.jboss.weld'*, *name*: > *'weld-core-jsf'*, *version*: > > > *'2.3.2.Final' * > > > *// Omnifaces// compile group: 'org.omnifaces', name: 'omnifaces', > version: '2.6.3' // Omnifaces Dependencies *compile *group*: > *'org.apache.geronimo.specs'*, *name*: *'geronimo-validation_1.0_spec'*, > *version*: > > *'1.1' * > *// Apache Commons *compile *group*: *'commons-io'*, *name*: > *'commons-io'*, *version*: > > *'2.5' * > *// Apache Oltu *compile *group*: *'org.apache.oltu.oauth2'*, *name*: > *'org.apache.oltu.oauth2.client'*, *version*: > > *'1.0.2' * > *// JSON.org *compile *group*: *'org.json'*, *name*: *'json'*, *version*: > > > *'20160810' * > *// JOOQ and Database Dependencies *compile *group*: *'org.jooq'*, > *name*: *'jooq'*, *version*: > *'3.8.4' *compile *group*: *'org.jooq'*, *name*: *'jooq-meta'*, > *version*: > *'3.8.4' *compile *group*: *'org.jooq'*, *name*: *'jooq-codegen'*, > *version*: > *'3.8.4' *compile *group*: *'org.mariadb.jdbc'*, *name*: > *'mariadb-java-client'*, *version*: > *'1.1.7' *compile *group*: *'com.mchange'*, *name*: *'c3p0'*, *version*: > > *'0.9.5.2' *compile *group*: *'javax.persistence'*, *name*: > *'persistence-api'*, *version*: > > *'1.0.2' * > > > > *// Lobos Studios persistence helper library //compile > files('c:/lib/lobos-persistence-0.1.jar') // Logging *compile *group*: > *'org.slf4j'*, *name*: *'slf4j-api'*, *version*: > *'1.7.21' *compile *group*: *'ch.qos.logback'*, *name*: > *'logback-classic'*, *version*: > *'1.1.7' *compile *group*: *'ch.qos.logback'*, *name*: *'logback-core'*, > *version*: > > *'1.1.7'*} > > clean.doFirst { > delete *"*${rootDir} > */out/"*} > > My IntelliJ server config is set to load home-base-warning.mod, ext.mod, > server.mod, jsp.mod, resources.mod, deploy.mod, jstl.mod, websocket.mod, > apache-jsp.mod, apache-jstl.mod, cdi.mod, https.mod, servlet.mod and > annotations.mod. > > I also tried creating a simple embedded server and loading the web app > that way, and got the same results. Here’s my code: > > > > *package *com.lobosstudios.loboserver; > > *import *com.lobosstudios.loboserver.config.ConfigIo; > *import *com.lobosstudios.loboserver.config.ConfigXml; > *import *com.lobosstudios.loboserver.handlers.LoboserverDefaultHandler; > *import *com.lobosstudios.loboserver.ssl.LoboserverSslContextFactory; > *import *org.apache.commons.lang3.SystemUtils; > *import *org.eclipse.jetty.deploy.DeploymentManager; > *import *org.eclipse.jetty.deploy.PropertiesConfigurationManager; > *import *org.eclipse.jetty.deploy.bindings.DebugListenerBinding; > *import *org.eclipse.jetty.deploy.providers.WebAppProvider; > *import *org.eclipse.jetty.http.HttpVersion; > *import *org.eclipse.jetty.server.DebugListener; > *import *org.eclipse.jetty.server.Handler; > *import *org.eclipse.jetty.server.HttpConfiguration; > *import *org.eclipse.jetty.server.HttpConnectionFactory; > *import *org.eclipse.jetty.server.LowResourceMonitor; > *import *org.eclipse.jetty.server.NCSARequestLog; > *import *org.eclipse.jetty.server.SecureRequestCustomizer; > *import *org.eclipse.jetty.server.Server; > *import *org.eclipse.jetty.server.ServerConnector; > *import *org.eclipse.jetty.server.SslConnectionFactory; > *import *org.eclipse.jetty.server.handler.ContextHandlerCollection; > *import *org.eclipse.jetty.server.handler.HandlerCollection; > *import *org.eclipse.jetty.server.handler.RequestLogHandler; > *import *org.eclipse.jetty.util.ssl.SslContextFactory; > *import *org.eclipse.jetty.util.thread.QueuedThreadPool; > *import *org.eclipse.jetty.util.thread.ScheduledExecutorScheduler; > *import *org.eclipse.jetty.webapp.Configuration; > > *public class *Main > { > > *public static void *main( String[] args ) *throws *Exception > { > > String basePath, logPath; > > *if *(SystemUtils.IS_OS_WINDOWS) { > basePath = JettyDefaults.BASE_PATH_WINDOWS; > logPath = JettyDefaults.LOG_PATH_WINDOWS; > } *else *{ > basePath = JettyDefaults.BASE_PATH_LINUX; > logPath = JettyDefaults.LOG_PATH_LINUX; > } > > ConfigXml configXml = ConfigIo.readConfig(basePath); > > QueuedThreadPool threadPool = *new *QueuedThreadPool(); > threadPool.setMaxThreads(JettyDefaults.SERVER_MAX_THREADS); > > > *// Server *Server server = *new *Server(threadPool); > > > *//Enable parsing of jndi-related parts of web.xml and jetty-env.xml > *Configuration.ClassList classlist = > org.eclipse.jetty.webapp.Configuration.ClassList.setServerDefault(server); > > classlist.addBefore(*"org.eclipse.jetty.webapp.JettyWebXmlConfiguration"*, > *"org.eclipse.jetty.annotations.AnnotationConfiguration"*); > > > *// Scheduler *server.addBean(*new *ScheduledExecutorScheduler()); > > > *// HTTP Configuration *LoboserverConfiguration http_config_main = *new > *LoboserverConfiguration(); > > > *// Handler Structure *HandlerCollection handlers = *new > *HandlerCollection(); > ContextHandlerCollection contexts = *new *ContextHandlerCollection(); > handlers.setHandlers(*new *Handler[] { contexts, *new > *LoboserverDefaultHandler() }); > server.setHandler(handlers); > > > *// Extra options *server.setDumpAfterStart(*false*); > server.setDumpBeforeStop(*false*); > server.setStopAtShutdown(*true*); > > > > > *// === jetty-https.xml === // SSL Context Factory > *SslContextFactory sslContextFactory = *new *LoboserverSslContextFactory(); > sslContextFactory.setKeyStorePath(configXml.getKeyStore().getPath()); > > sslContextFactory.setKeyStorePassword(configXml.getKeyStore().getPassword()); > > > *// SSL HTTP Configuration *HttpConfiguration https_config = *new > *HttpConfiguration(http_config_main); > https_config.addCustomizer(*new *SecureRequestCustomizer()); > > > *// SSL Connector *ServerConnector sslConnector = *new > *ServerConnector(server, > *new > *SslConnectionFactory(sslContextFactory,HttpVersion.*HTTP_1_1*.asString()), > *new *HttpConnectionFactory(https_config)); > sslConnector.setPort(443); > server.addConnector(sslConnector); > > > > *// === jetty-deploy.xml === *DeploymentManager deployer = *new > *DeploymentManager(); > DebugListener debug = *new > *DebugListener(System.out,*true*,*true*,*true*); > server.addBean(debug); > deployer.addLifeCycleBinding(*new *DebugListenerBinding(debug)); > deployer.setContextAttribute( > *"org.eclipse.jetty.server.webapp.ContainerIncludeJarPattern"*, > *".*/servlet-api-[^/]*\\.jar$"*); > deployer.setContexts(contexts); > > WebAppProvider webapp_provider = *new *WebAppProvider(); > webapp_provider.setMonitoredDirName(basePath + *"/webapps"*); > webapp_provider.setDefaultsDescriptor(basePath + *"/webdefault.xml"*); > webapp_provider.setScanInterval(1); > webapp_provider.setExtractWars(*true*); > > webapp_provider.setConfigurationManager(*new > *PropertiesConfigurationManager()); > > deployer.addAppProvider(webapp_provider); > server.addBean(deployer); > > > *// === setup jetty plus == > *Configuration.ClassList.setServerDefault(server).addAfter( > *"org.eclipse.jetty.webapp.FragmentConfiguration"*, > *"org.eclipse.jetty.plus.webapp.EnvConfiguration"*, > *"org.eclipse.jetty.plus.webapp.PlusConfiguration"*); > > > *// === jetty-requestlog.xml === *NCSARequestLog requestLog = *new > *NCSARequestLog(); > requestLog.setFilename(logPath + *"/yyyy_mm_dd.request.log"*); > requestLog.setFilenameDateFormat(*"yyyy_MM_dd"*); > requestLog.setRetainDays(90); > requestLog.setAppend(*true*); > requestLog.setExtended(*true*); > requestLog.setLogCookies(*false*); > requestLog.setLogTimeZone(*"GMT"*); > RequestLogHandler requestLogHandler = *new *RequestLogHandler(); > requestLogHandler.setRequestLog(requestLog); > handlers.addHandler(requestLogHandler); > > > > *// === jetty-lowresources.xml === *LowResourceMonitor > lowResourcesMonitor=*new *LowResourceMonitor(server); > lowResourcesMonitor.setPeriod(1000); > lowResourcesMonitor.setLowResourcesIdleTimeout(200); > lowResourcesMonitor.setMonitorThreads(*true*); > lowResourcesMonitor.setMaxConnections(0); > lowResourcesMonitor.setMaxMemory(0); > lowResourcesMonitor.setMaxLowResourcesTime(5000); > server.addBean(lowResourcesMonitor); > > > *// Start the server *server.start(); > server.join(); > > } > } > > > > > > This code sets up the server and then loads the web app using this > configuration: > > > > *<!DOCTYPE* > * Configure PUBLIC "-//Jetty//Configure//EN" > "http://www.eclipse.org/jetty/configure_9_0.dtd > <http://www.eclipse.org/jetty/configure_9_0.dtd>">*<*Configure > class="org.eclipse.jetty.webapp.WebAppContext"*> > <*Set name="contextPath"*>/</*Set*> > <*Set name="war"*>D:\data\sw\lobos360\out\web</*Set*> > <*Set name="virtualHosts"*> > <*Array type="String"*> > <*Item*>360.lobosstudios.com</*Item*> > </*Array*> > </*Set*> > </*Configure*> > > > > > > My beans.xml exists but is empty > > My jetty-context.xml: > > > *<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" > "http://www.eclipse.org/jetty/configure.dtd > <http://www.eclipse.org/jetty/configure.dtd>">*<*Configure > class="org.eclipse.jetty.webapp.WebAppContext"*> > <*Set name="serverClasses"*> > <*Array type="java.lang.String"*> > > <*Item*>-org.eclipse.jetty.servlet.ServletContextHandler.Decorator</*Item*> > </*Array*> > </*Set*> > </*Configure*> > > > > My jetty-env.xml: > > > *<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" > "http://www.eclipse.org/jetty/configure.dtd > <http://www.eclipse.org/jetty/configure.dtd>">*<*Configure id="webAppCtx" > class="org.eclipse.jetty.webapp.WebAppContext"*> > <*New id="BeanManager" class="org.eclipse.jetty.plus.jndi.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*> > > > > My web.xml: > > > > *<?**xml version="1.0" encoding="UTF-8"* > *?>*< > > > *web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee > <http://xmlns.jcp.org/xml/ns/javaee>" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance > <http://www.w3.org/2001/XMLSchema-instance>" > xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee > <http://xmlns.jcp.org/xml/ns/javaee> > http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd > <http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd>" version="3.1"*> > <*display-name*>Lobos 360</*display-name*> > > <*context-param*> > <*param-name*>javax.faces.DEFAULT_SUFFIX</*param-name*> > <*param-value*>.xhtml</*param-value*> > </*context-param*> > <*context-param*> > <*param-name*>javax.faces.FACELETS_REFRESH_PERIOD</*param-name*> > <*param-value*>1</*param-value*> > </*context-param*> > <*context-param*> > <*param-name*>javax.faces.FACELETS_SKIP_COMMENTS</*param-name*> > <*param-value*>true</*param-value*> > </*context-param*> > <*context-param*> > <*param-name*>javax.faces.PROJECT_STAGE</*param-name*> > <*param-value*>Development</*param-value*> > </*context-param*> > <*context-param*> > <*param-name*>javax.faces.STATE_SAVING_METHOD</*param-name*> > <*param-value*>client</*param-value*> > </*context-param*> > <*context-param*> > <*param-name*>javax.faces.VALIDATE_EMPTY_FIELDS</*param-name*> > <*param-value*>true</*param-value*> > </*context-param*> > <*context-param*> > <*param-name*>javax.faces.facelets.REFRESH_PERIOD</*param-name*> > <*param-value*>1</*param-value*> > </*context-param*> > <*context-param*> > <*param-name*>javax.faces.facelets.DEVELOPMENT</*param-name*> > <*param-value*>true</*param-value*> > </*context-param*> > <*context-param*> > <*param-name*>org.omnifaces.FACES_VIEWS_SCAN_PATHS</*param-name*> > <*param-value*>/*.xhtml</*param-value*> > </*context-param*> > <*context-param*> > <*param-name*>org.omnifaces.FACES_VIEWS_EXTENSION_ACTION</*param-name*> > <*param-value*>SEND_404</*param-value*> > </*context-param*> > <*context-param*> > <*param-name*>org.omnifaces.FACES_VIEWS_DISPATCH_METHOD</*param-name*> > <*param-value*>FORWARD</*param-value*> > </*context-param*> > <*context-param*> > <*param-name*>org.eclipse.jetty.servlet.SessionCookie</*param-name*> > <*param-value*>sid360</*param-value*> > </*context-param*> > <*context-param*> > > <*param-name*>org.eclipse.jetty.servlet.SessionIdPathParameterName</*param-name*> > <*param-value*>none</*param-value*> > </*context-param*> > <*context-param*> > > <*param-name*>org.eclipse.jetty.servlet.Default.useFileMappedBuffer</*param-name*> > <*param-value*>false</*param-value*> > </*context-param*> > <*filter*> > <*filter-name*>DirectoryIndexFilter</*filter-name*> > > <*filter-class*>com.lobosstudios.lobos360.filters.DirectoryIndexFilter</*filter-class*> > </*filter*> > <*filter-mapping*> > <*filter-name*>DirectoryIndexFilter</*filter-name*> > <*url-pattern*>*</*url-pattern*> > </*filter-mapping*> > <*filter*> > <*filter-name*>LoginFilter</*filter-name*> > > <*filter-class*>com.lobosstudios.lobos360.filters.LoginFilter</*filter-class*> > </*filter*> > <*filter-mapping*> > <*filter-name*>LoginFilter</*filter-name*> > <*url-pattern*>*</*url-pattern*> > </*filter-mapping*> > <*filter*> > <*filter-name*>NoCacheFilter</*filter-name*> > > <*filter-class*>com.lobosstudios.lobos360.filters.NoCacheFilter</*filter-class*> > </*filter*> > <*filter-mapping*> > <*filter-name*>NoCacheFilter</*filter-name*> > <*url-pattern*>*</*url-pattern*> > </*filter-mapping*> > > <*listener*> > > <*listener-class*>org.jboss.weld.environment.servlet.Listener</*listener-class*> > </*listener*> > <*listener*> > > <*listener-class*>com.sun.faces.config.ConfigureListener</*listener-class*> > </*listener*> > > <*servlet*> > <*servlet-name*>Faces</*servlet-name*> > <*servlet-class*>javax.faces.webapp.FacesServlet</*servlet-class*> > <*load-on-startup*>1</*load-on-startup*> > </*servlet*> > <*servlet-mapping*> > <*servlet-name*>Faces</*servlet-name*> > <*url-pattern*>*.jsf</*url-pattern*> > </*servlet-mapping*> > > > *<!-- Omnifaces is going to look for the BeanManager in JNDI --> > *<*resource-env-ref*> > <*description*>Object factory for the CDI Bean Manager</*description*> > <*resource-env-ref-name*>BeanManager</*resource-env-ref-name*> > > <*resource-env-ref-type*>javax.enterprise.inject.spi.BeanManager</*resource-env-ref-type*> > </*resource-env-ref*> > > <*error-page*> > <*error-code*>404</*error-code*> > <*location*>/404.jsf</*location*> > </*error-page*> > > <*welcome-file-list*> > <*welcome-file*>index.xhtml</*welcome-file*> > </*welcome-file-list*> > </*web-app*> > > > > > > -- > > Lobos Studios | Phone: 877.919.4WEB | LobosStudios.com | > Facebook.com/LobosStudios | @LobosStudios > > Web Development - Mobile Development - Helpdesk/Tech Support - Computer > Sales & Service > > Acer Authorized Reseller - Computers, Windows and Android Tablets, > Accessories > > > > Steve Sobol - CEO, Senior Developer and Server Jockey > > [email protected] > > > > _______________________________________________ > jetty-users mailing list > [email protected] > To change your delivery options, retrieve your password, or unsubscribe > from this list, visit > https://dev.eclipse.org/mailman/listinfo/jetty-users >
_______________________________________________ jetty-users mailing list [email protected] To change your delivery options, retrieve your password, or unsubscribe from this list, visit https://dev.eclipse.org/mailman/listinfo/jetty-users
