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

Reply via email to