Version: 9.4.5.v20170502 |
private support for your internal/customer projects ... custom extensions and distributions ... versioned snapshots for indefinite support ... scalability guidance for your apps and Ajax/Comet projects ... development services for sponsored feature development
Jetty Server Classpath is determined by a combination of factors.
--lib=<path>
can be used as a final means to add arbitrary entries to the Jetty Server classpath.Of special note, there are 2 structural modules defined to ease some of this for you.
ext
module will enable the lib/ext/*.jar
logic.
+
If this module is activated, then all jar files found in the lib/ext/ paths will be automatically added to the Jetty Server Classpath.resources
module will add the resources/
directory the classpath.
+
If you have 3rd party libraries that lookup resources from the classpath, put your files in here.
+
Logging libraries often have classpath lookup of their configuration files (eg: log4j.properties
, log4j.xml
, logging.properties
, and logback.xml
), so this would be the ideal setup for this sort of configuration demand.Note
Both the
ext
andresources
modules declare relative paths that follow Jetty Base and Jetty Home path resolution rules.
The Jetty start.jar
has the ability to resolve the classpath from the command line, modules and configuration, and to list the classpath entries it will use to start jetty.
The --list-classpath
command line option is used as such.
(Demonstrated with the demo-base from the Jetty Distribution)
[demo-base]$ java -jar $JETTY_HOME/start.jar --list-classpath Jetty Server Classpath: ----------------------- Version Information on 42 entries in the classpath. Note: order presented here is how they would appear on the classpath. changes to the --module=name command line options will be reflected here. 0: 9.4.5.v20170502 | ${jetty.home}/lib/jetty-client-9.4.5.v20170502.jar 1: 1.4.1.v201005082020 | ${jetty.base}/lib/ext/javax.mail.glassfish-1.4.1.v201005082020.jar 2: 9.4.5.v20170502 | ${jetty.base}/lib/ext/test-mock-resources-9.4.5.v20170502.jar 3: (dir) | ${jetty.home}/resources 4: 3.1.0 | ${jetty.home}/lib/servlet-api-3.1.jar 5: 3.1.RC0 | ${jetty.home}/lib/jetty-schemas-3.1.jar 6: 9.4.5.v20170502 | ${jetty.home}/lib/jetty-http-9.4.5.v20170502.jar 7: 9.4.5.v20170502 | ${jetty.home}/lib/jetty-continuation-9.4.5.v20170502.jar 8: 9.4.5.v20170502 | ${jetty.home}/lib/jetty-server-9.4.5.v20170502.jar 9: 9.4.5.v20170502 | ${jetty.home}/lib/jetty-xml-9.4.5.v20170502.jar 10: 9.4.5.v20170502 | ${jetty.home}/lib/jetty-util-9.4.5.v20170502.jar 11: 9.4.5.v20170502 | ${jetty.home}/lib/jetty-io-9.4.5.v20170502.jar 12: 9.4.5.v20170502 | ${jetty.home}/lib/jetty-jaas-9.4.5.v20170502.jar 13: 9.4.5.v20170502 | ${jetty.home}/lib/jetty-jndi-9.4.5.v20170502.jar 14: 1.1.0.v201105071233 | ${jetty.home}/lib/jndi/javax.activation-1.1.0.v201105071233.jar 15: 1.4.1.v201005082020 | ${jetty.home}/lib/jndi/javax.mail.glassfish-1.4.1.v201005082020.jar 16: 1.2 | ${jetty.home}/lib/jndi/javax.transaction-api-1.2.jar 17: 9.4.5.v20170502 | ${jetty.home}/lib/jetty-rewrite-9.4.5.v20170502.jar 18: 9.4.5.v20170502 | ${jetty.home}/lib/jetty-security-9.4.5.v20170502.jar 19: 9.4.5.v20170502 | ${jetty.home}/lib/jetty-servlet-9.4.5.v20170502.jar 20: 3.0.0 | ${jetty.home}/lib/jsp/javax.el-3.0.0.jar 21: 1.2.0.v201105211821 | ${jetty.home}/lib/jsp/javax.servlet.jsp.jstl-1.2.0.v201105211821.jar 22: 2.3.2 | ${jetty.home}/lib/jsp/javax.servlet.jsp-2.3.2.jar 23: 2.3.1 | ${jetty.home}/lib/jsp/javax.servlet.jsp-api-2.3.1.jar 24: 2.3.3 | ${jetty.home}/lib/jsp/jetty-jsp-jdt-2.3.3.jar 25: 1.2.0.v201112081803 | ${jetty.home}/lib/jsp/org.apache.taglibs.standard.glassfish-1.2.0.v201112081803.jar 26: 3.8.2.v20130121-145325 | ${jetty.home}/lib/jsp/org.eclipse.jdt.core-3.8.2.v20130121.jar 27: 9.4.5.v20170502 | ${jetty.home}/lib/jetty-plus-9.4.5.v20170502.jar 28: 9.4.5.v20170502 | ${jetty.home}/lib/jetty-webapp-9.4.5.v20170502.jar 29: 9.4.5.v20170502 | ${jetty.home}/lib/jetty-annotations-9.4.5.v20170502.jar 30: 4.1 | ${jetty.home}/lib/annotations/asm-4.1.jar 31: 4.1 | ${jetty.home}/lib/annotations/asm-commons-4.1.jar 32: 1.2 | ${jetty.home}/lib/annotations/javax.annotation-api-1.2.jar 33: 9.4.5.v20170502 | ${jetty.home}/lib/jetty-deploy-9.4.5.v20170502.jar 34: 1.0 | ${jetty.home}/lib/websocket/javax.websocket-api-1.0.jar 35: 9.4.5.v20170502 | ${jetty.home}/lib/websocket/javax-websocket-client-impl-9.4.5.v20170502.jar 36: 9.4.5.v20170502 | ${jetty.home}/lib/websocket/javax-websocket-server-impl-9.4.5.v20170502.jar 37: 9.4.5.v20170502 | ${jetty.home}/lib/websocket/websocket-api-9.4.5.v20170502.jar 38: 9.4.5.v20170502 | ${jetty.home}/lib/websocket/websocket-client-9.4.5.v20170502.jar 39: 9.4.5.v20170502 | ${jetty.home}/lib/websocket/websocket-common-9.4.5.v20170502.jar 40: 9.4.5.v20170502 | ${jetty.home}/lib/websocket/websocket-server-9.4.5.v20170502.jar 41: 9.4.5.v20170502 | ${jetty.home}/lib/websocket/websocket-servlet-9.4.5.v20170502.jar
Of note is that an attempt is made to list the internally declared version of each artifact on the Server Classpath, which can potentially help when diagnosing classpath issues.