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(FactoryFinderInst
ance.java:368)

      at
javax.faces.FactoryFinderInstance.getImplementationInstance(FactoryFinderIns
tance.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(F
actoryConfigProcessor.java:354)

      at
com.sun.faces.config.processor.FactoryConfigProcessor.process(FactoryConfigP
rocessor.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(Conte
xtHandler.java:890)

      at
org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(Servl
etContextHandler.java:532)

      at
org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.
java:853)

      at
org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextH
andler.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(ServletContextHandle
r.java:261)

      at
org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:545)

      at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.j
ava:68)

      at
org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding(StandardSta
rter.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(ScanningApp
Provider.java:180)

      at
org.eclipse.jetty.deploy.providers.WebAppProvider.fileAdded(WebAppProvider.j
ava:453)

      at
org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(ScanningA
ppProvider.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!/M
ETA-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(Conte
xtHandler.java:890)

      at
org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(Servl
etContextHandler.java:532)

      at
org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.
java:853)

      at
org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextH
andler.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(ServletContextHandle
r.java:261)

      at
org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:545)

      at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.j
ava:68)

      at
org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding(StandardSta
rter.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(ScanningApp
Provider.java:180)

      at
org.eclipse.jetty.deploy.providers.WebAppProvider.fileAdded(WebAppProvider.j
ava:453)

      at
org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(ScanningA
ppProvider.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(FactoryFinderInst
ance.java:368)

      at
javax.faces.FactoryFinderInstance.getImplementationInstance(FactoryFinderIns
tance.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(F
actoryConfigProcessor.java:354)

      at
com.sun.faces.config.processor.FactoryConfigProcessor.process(FactoryConfigP
rocessor.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(Conte
xtHandler.java:890)

      at
org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(Servl
etContextHandler.java:532)

      at
org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.
java:853)

      at
org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextH
andler.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(ServletContextHandle
r.java:261)

      at
org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:545)

      at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.j
ava:68)

      at
org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding(StandardSta
rter.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(ScanningApp
Provider.java:180)

      at
org.eclipse.jetty.deploy.providers.WebAppProvider.fileAdded(WebAppProvider.j
ava:453)

      at
org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(ScanningA
ppProvider.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(FactoryFinderInst
ance.java:368)

      at
javax.faces.FactoryFinderInstance.getImplementationInstance(FactoryFinderIns
tance.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(F
actoryConfigProcessor.java:354)

      at
com.sun.faces.config.processor.FactoryConfigProcessor.process(FactoryConfigP
rocessor.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(Conte
xtHandler.java:890)

      at
org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(Servl
etContextHandler.java:532)

      at
org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.
java:853)

      at
org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextH
andler.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(ServletContextHandle
r.java:261)

      at
org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:545)

      at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.j
ava:68)

      at
org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding(StandardSta
rter.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(ScanningApp
Provider.java:180)

      at
org.eclipse.jetty.deploy.providers.WebAppProvider.fileAdded(WebAppProvider.j
ava:453)

      at
org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(ScanningA
ppProvider.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";>
<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";>
<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";>
<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";
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
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-nam
e>
      <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

Reply via email to