blob: 8091790de088fcd092a4c887bb8a81a7fbc57626 [file] [log] [blame]
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Managing Startup Modules</title><link rel="stylesheet" type="text/css" href="css/docbook.css"><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"><meta name="keywords" content="jetty, servlet, servlet-api, cometd, http, websocket, eclipse, maven, java, server, software"><link rel="home" href="index.html" title="Jetty : The Definitive Reference"><link rel="up" href="startup.html" title="Chapter&nbsp;9.&nbsp;Starting Jetty"><link rel="prev" href="startup-classpath.html" title="Managing Server Classpath"><link rel="next" href="startup-base-and-home.html" title="Managing Jetty Base and Jetty Home"><link xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times" rel="shortcut icon" href="images/favicon.ico"><script type="text/javascript" src="js/shCore.js"></script><script type="text/javascript" src="js/shBrushJava.js"></script><script type="text/javascript" src="js/shBrushXml.js"></script><script type="text/javascript" src="js/shBrushBash.js"></script><script type="text/javascript" src="js/shBrushJScript.js"></script><script type="text/javascript" src="js/shBrushSql.js"></script><script type="text/javascript" src="js/shBrushProperties.js"></script><script type="text/javascript" src="js/shBrushPlain.js"></script><link type="text/css" rel="stylesheet" href="css/shCore.css"><link type="text/css" rel="stylesheet" href="css/shThemeEclipse.css"><link type="text/css" rel="stylesheet" href="css/font-awesome.min.css"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times"><tr><td style="width: 25%"><a href="http://www.eclipse.org/jetty"><img src="images/jetty-header-logo.png" alt="Jetty Logo"></a><br><span style="font-size: small">
Version: 9.3.0.v20150612</span></td><td style="width: 50%"><script type="text/javascript"> (function() {
var cx = '016459005284625897022:obd4lsai2ds';
var gcse = document.createElement('script');
gcse.type = 'text/javascript';
gcse.async = true;
gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') +
'//www.google.com/cse/cse.js?cx=' + cx;
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(gcse, s);
})();
</script><gcse:search></gcse:search></td></tr></table><div xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times" class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Managing Startup Modules</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="startup-classpath.html"><i class="icon-chevron-left"></i> Previous</a>&nbsp;</td><th width="60%" align="center">Chapter&nbsp;9.&nbsp;Starting Jetty<br><a accesskey="p" href="index.html"><i class="icon-home"></i> Home</a></th><td width="20%" align="right">&nbsp;<a accesskey="n" href="startup-base-and-home.html">Next <i class="icon-chevron-right"></i></a></td></tr></table><hr></div><div xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times" class="jetty-callout"><h5 class="callout"><a href="http://www.webtide.com/">Contact the core Jetty developers at
<span class="website">www.webtide.com</span></a></h5><p>
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 from 1 day to full product delivery
</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="startup-modules"></a>Managing Startup Modules</h2></div></div></div><div class="toc"><dl><dt><span class="section"><a href="startup-modules.html#d0e7971">Enabling Modules</a></span></dt><dt><span class="section"><a href="startup-modules.html#startup-listing-modules">Listing Available and Active Modules</a></span></dt></dl></div><p>Starting with Jetty 9.1, a new Module system was introduced. (It
replaced the old <code class="filename">start.config</code> +
<code class="literal">OPTIONS</code> techniques from past Jetty Distributions).</p><p>The standard Jetty Distribution ships with several modules defined in
<code class="filename">${jetty.home}/modules/</code></p><p>What a Jetty Startup Module Defines:</p><div class="variablelist"><dl><dt><span class="term">A Module Name</span></dt><dd><p>The name of the module is the keyword used by the
<code class="literal">--module=&lt;name&gt;</code> command line argument to
activate/enable modules, and also find dependant modules.</p><p>The filename of the module defines its name. (eg: server.mod
becomes the module named "server")</p></dd><dt><span class="term">List of Dependant Modules</span></dt><dd><p>All modules can declare that they depend on other modules with
the <code class="code">[depend]</code> section.</p><p>The list of dependencies is used to transitively resolve other
modules that are deemed to be required based on the modules that you
activate.</p><p>The order of modules defined in the graph of active modules is
used to determine various execution order for configuration, such as
Jetty IoC XML configurations, and to resolve conflicting property
declarations.</p><p>Of note: there is a special section <code class="code">[optional]</code> used
to describe structurally dependant modules that are not technically
required, but might be of use to your specific configuration.</p></dd><dt><span class="term">List of Libraries</span></dt><dd><p>Module can optionally declare that they have libraries that they
need to function properly.</p><p>The <code class="code">[lib]</code> section declares a set of pathnames that
follow the <a class="link" href="startup-base-and-home.html#base-vs-home-resolution" title="Configuration Resolution Rules">Jetty Base and
Jetty Home path resolution rules</a>.</p></dd><dt><span class="term">List of Jetty IoC XML Configurations</span></dt><dd><p>A Module can optionally declare a list of Jetty IoC XML
configurations used to wire up the functionality that this module
defines.</p><p>The <code class="code">[xml]</code> section declares a set of pathnames that
follow the <a class="link" href="startup-base-and-home.html#base-vs-home-resolution" title="Configuration Resolution Rules">Jetty Base and
Jetty Home path resolution rules</a>.</p><p>Ideally, all XML files are parameterized to accept properties to
configure the various elements of the standard configuration. Allowing
for a simplified configuration of Jetty for the vast majority of
deployments.</p><p>The execution order of the Jetty IoC XML configurations is
determined by the graph of active module dependencies resolved via the
<code class="code">[depend]</code> sections.</p><p>If the default XML is not sufficient to satisfy your needs, you
can override this XML by making your own in the ${jetty.base}/etc/
directory, with the same name. The resolution steps for Jetty Base and
Jetty Home will ensure that your copy from ${jetty.base} will be
picked up over the default one in ${jetty.home}.</p></dd><dt><span class="term">Jetty INI Template</span></dt><dd><p>Each module can optionally declare a startup ini template that
is used to insert/append/inject sample configuration elements into the
<code class="filename">start.ini</code> or <code class="filename">start.d/*.ini</code>
files when using the <code class="literal">--add-to-start=&lt;name&gt;</code> or
<code class="literal">--add-to-startd=&lt;name&gt;</code> command line arguments
in <code class="filename">start.jar</code>.</p><p>Commonly used to present some of the parameterized property
options from the Jetty IoC XML configuration files also referenced in
the same module.</p><p>The <code class="code">[ini-template]</code> section declares this section of
sample configuration.</p></dd><dt><span class="term">Required Files and Directories</span></dt><dd><p>If the activation of a module requires some paths to exist, the
<code class="code">[files]</code> section defines them.</p><p>There are 2 modes of operation of the entries in this
section.</p><div class="variablelist"><dl><dt><span class="term">Ensure Directory Exists</span></dt><dd><p>If you add a pathname that ends in
<code class="filename">"/"</code> (slash), such as
<code class="filename">"webapps/"</code>, then that directory will be
created if it does not yet exist in
<code class="filename">${jetty.base}/&lt;pathname&gt;</code> (eg:
<code class="filename">"webapps/"</code> will result in
<code class="filename">${jetty.base}/webapps/</code> being
created)</p></dd><dt><span class="term">Download File</span></dt><dd><p>There is a special syntax to allow you to download a file
into a specific location if it doesn't exist yet.</p><p><code class="code">&lt;url&gt;:&lt;pathname&gt;</code></p><p>Currently, the <code class="filename">&lt;url&gt;</code> must be a
<code class="literal">http://</code> scheme URL (<a class="link" href="bugs.html" title="Issues, Features, and Bugs">file
a bug</a> if you want more schemes supported). The
<code class="filename">&lt;pathname&gt;</code> portion follows the <a class="link" href="startup-base-and-home.html#base-vs-home-resolution" title="Configuration Resolution Rules">Jetty Base and Jetty Home path
resolution rules</a>.</p><p>Example:</p><p><code class="filename">http://repo.corp.com/maven/corp-security-policy-1.0.jar:lib/corp-security-policy.jar</code></p><p>This will check for the existence of
<code class="filename">lib/corp-security-policy.jar</code>, and if it
doesn't exist, it will download the jar file from
<code class="filename">http://repo.corp.com/maven/corp-security-policy-1.0.jar</code></p></dd></dl></div></dd></dl></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="d0e7971"></a>Enabling Modules</h3></div></div></div><p>Jetty ships with many modules defined, and a small subset predefined
in the <code class="filename">start.ini</code> found in the jetty
distribution.</p><div xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times" class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title"><i class="icon-lightbulb"></i> Tip</h3><p>The default distribution has a co-mingled
<code class="filename">${jetty.home}</code> and
<code class="filename">${jetty.base}</code>. Where the directories for
<code class="filename">${jetty.home}</code> and
<code class="filename">${jetty.base}</code> point to the same location.</p><p>It is highly encouraged that you learn about the differences in
<a class="link" href="startup-base-and-home.html" title="Managing Jetty Base and Jetty Home">Jetty Base vs Jetty Home</a>
and take full advantage of this setup.</p></div><p>When you want enable a module, you can use the
<code class="literal">--module=&lt;modulename&gt;</code> syntax on the command line
(or start.ini) to enable that module and all of its dependant
modules.</p><p>An example of this, with a new, empty, base directory.</p><div class="screenexample"><pre class="screen">
WARNING: Nothing to start, exiting ...
Usage: java -jar start.jar [options] [properties] [configs]
java -jar start.jar --help # for more information
</pre></div><p>We can see from this output, that the directory is new (it is empty
after all).</p><p>Lets see what the configuration looks like so far</p><div class="screenexample"><pre class="screen">
[mybase]$ java -jar /opt/jetty-distribution/start.jar --list-config
Java Environment:
-----------------
java.home = /lib/jvm/jdk-8u45/jre
java.vm.vendor = Oracle Corporation
java.vm.version = 25.45-b02
java.vm.name = Java HotSpot(TM) 64-Bit Server VM
java.vm.info = mixed mode
java.runtime.name = Java(TM) SE Runtime Environment
java.runtime.version = 1.8.0_45-b14
java.io.tmpdir = /tmp
user.dir = /home/jetty/mybase
user.language = en
user.country = US
Jetty Environment:
-----------------
jetty.version = 9.3.0.v20150612
jetty.home = /opt/jetty-distribution
jetty.base = /home/jetty/mybase
Config Search Order:
--------------------
&lt;command-line&gt;
${jetty.base} -&gt; /home/jetty/mybase
${jetty.home} -&gt; /opt/jetty-distribution
JVM Arguments:
--------------
(no jvm args specified)
System Properties:
------------------
(no system properties specified)
Properties:
-----------
(no properties specified)
Jetty Server Classpath:
-----------------------
No classpath entries and/or version information available show.
Jetty Active XMLs:
------------------
(no xml files specified)
</pre></div><p>Lets try adding some basic support for webapps, with automatic
deploy (hot deploy), and a single basic HTTP/1.1 connector.</p><div class="screenexample"><pre class="screen">
[mybase]$ java -jar /opt/jetty-distribution/start.jar --add-to-start=http,webapp,deploy
INFO: server initialised (transitively) in ${jetty.base}/start.ini
INFO: http initialised in ${jetty.base}/start.ini
INFO: security initialised (transitively) in ${jetty.base}/start.ini
INFO: servlet initialised (transitively) in ${jetty.base}/start.ini
INFO: webapp initialised in ${jetty.base}/start.ini
INFO: deploy initialised in ${jetty.base}/start.ini
MKDIR: ${jetty.base}/webapps
INFO: Base directory was modified
</pre></div><p>That just created what we need in the
<code class="literal">${jetty.base}</code> directory. Lets see what it looks like
configuration wise.</p><div class="screenexample"><pre class="screen">
[mybase]$ java -jar /opt/jetty-distribution/start.jar --list-config
Java Environment:
-----------------
java.home = /lib/jvm/jdk-8u31-x64/jre
java.vm.vendor = Oracle Corporation
java.vm.version = 25.31-b07
java.vm.name = Java HotSpot(TM) 64-Bit Server VM
java.vm.info = mixed mode
java.runtime.name = Java(TM) SE Runtime Environment
java.runtime.version = 1.8.0_31-b13
java.io.tmpdir = /tmp
user.dir = /home/jetty/mybase
user.language = en
user.country = US
Jetty Environment:
-----------------
jetty.version = 9.3.0.v20150612
jetty.home = /opt/jetty-distribution
jetty.base = /home/jetty/mybase
Config Search Order:
--------------------
&lt;command-line&gt;
${jetty.base} -&gt; /home/jetty/mybase
${jetty.home} -&gt; /opt/jetty-distribution
JVM Arguments:
--------------
(no jvm args specified)
System Properties:
------------------
(no system properties specified)
Properties:
-----------
jetty.http.port = 8080
Jetty Server Classpath:
-----------------------
Version Information on 11 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: 3.1.0 | ${jetty.home}/lib/servlet-api-3.1.jar
1: 3.1.0.M0 | ${jetty.home}/lib/jetty-schemas-3.1.jar
2: 9.3.0.v20150612 | ${jetty.home}/lib/jetty-http-9.3.0.v20150612.jar
3: 9.3.0.v20150612 | ${jetty.home}/lib/jetty-server-9.3.0.v20150612.jar
4: 9.3.0.v20150612 | ${jetty.home}/lib/jetty-xml-9.3.0.v20150612.jar
5: 9.3.0.v20150612 | ${jetty.home}/lib/jetty-util-9.3.0.v20150612.jar
6: 9.3.0.v20150612 | ${jetty.home}/lib/jetty-io-9.3.0.v20150612.jar
7: 9.3.0.v20150612 | ${jetty.home}/lib/jetty-security-9.3.0.v20150612.jar
8: 9.3.0.v20150612 | ${jetty.home}/lib/jetty-servlet-9.3.0.v20150612.jar
9: 9.3.0.v20150612 | ${jetty.home}/lib/jetty-webapp-9.3.0.v20150612.jar
10: 9.3.0.v20150612 | ${jetty.home}/lib/jetty-deploy-9.3.0.v20150612.jar
Jetty Active XMLs:
------------------
${jetty.home}/etc/jetty.xml
${jetty.home}/etc/jetty-http.xml
${jetty.home}/etc/jetty-deploy.xml
</pre></div><p>You now have a configured and functional server, albiet with no
webapps deployed. At this point you can toss a webapp (war file) into
<code class="filename">mybase/webapps/</code> directory and and start Jetty</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="startup-listing-modules"></a>Listing Available and Active Modules</h3></div></div></div><p>To see which modules are <span class="emphasis"><em>available</em></span>, use the
<code class="literal">--list-modules</code> command line argument. This command will
also show you which modules are <span class="emphasis"><em>enabled</em></span>. Here's an
example</p><div class="screenexample"><pre class="screen">
[mybase]$ java -jar /opt/jetty-distribution/start.jar --list-modules
Jetty All Available Modules:
----------------------------
[ ] Module: alpn
Depend: ssl
Depend: alpn-impl/alpn-${java.version}
LIB: lib/jetty-alpn-client-${jetty.version}.jar
LIB: lib/jetty-alpn-server-${jetty.version}.jar
XML: etc/jetty-alpn.xml
Enabled: &lt;not enabled in this configuration&gt;
[ ] Module: protonego-boot
Ref: alpn-impl/alpn-1.8.0_45
Enabled: &lt;not enabled in this configuration&gt;
[ ] Module: annotations
Depend: plus
LIB: lib/jetty-annotations-${jetty.version}.jar
LIB: lib/annotations/*.jar
XML: etc/jetty-annotations.xml
Enabled: &lt;not enabled in this configuration&gt;
[ ] Module: apache-jsp
LIB: lib/apache-jsp/*.jar
Enabled: &lt;not enabled in this configuration&gt;
[ ] Module: apache-jstl
LIB: lib/apache-jstl/*.jar
Enabled: &lt;not enabled in this configuration&gt;
[ ] Module: cdi
Depend: deploy
Depend: annotations
Depend: plus
Depend: jsp
LIB: lib/cdi/*.jar
LIB: lib/cdi-core-${jetty.version}.jar
LIB: lib/cdi-servlet-${jetty.version}.jar
XML: etc/jetty-cdi.xml
Enabled: &lt;not enabled in this configuration&gt;
[ ] Module: client
LIB: lib/jetty-client-${jetty.version}.jar
Enabled: &lt;not enabled in this configuration&gt;
[ ] Module: continuation
LIB: lib/jetty-continuation-${jetty.version}.jar
Enabled: &lt;not enabled in this configuration&gt;
[ ] Module: debuglog
Depend: server
XML: etc/jetty-debug.xml
Enabled: &lt;not enabled in this configuration&gt;
[x] Module: deploy
Depend: webapp
LIB: lib/jetty-deploy-${jetty.version}.jar
XML: etc/jetty-deploy.xml
Enabled: &lt;via&gt; ${jetty.base}/start.ini
[ ] Module: ext
LIB: lib/ext/**.jar
Enabled: &lt;not enabled in this configuration&gt;
[ ] Module: fcgi
Depend: servlet
Depend: client
LIB: lib/jetty-proxy-${jetty.version}.jar
LIB: lib/fcgi/*.jar
Enabled: &lt;not enabled in this configuration&gt;
[ ] Module: gzip
Depend: server
XML: etc/jetty-gzip.xml
Enabled: &lt;not enabled in this configuration&gt;
[ ] Module: hawtio
Depend: stats
Depend: deploy
Depend: jmx
XML: etc/hawtio.xml
Enabled: &lt;not enabled in this configuration&gt;
[ ] Module: home-base-warning
XML: etc/home-base-warning.xml
Enabled: &lt;not enabled in this configuration&gt;
[x] Module: http
Depend: server
XML: etc/jetty-http.xml
Enabled: &lt;via&gt; ${jetty.base}/start.ini
[ ] Module: http2
Depend: ssl
Depend: alpn
LIB: lib/http2/*.jar
XML: etc/jetty-http2.xml
Enabled: &lt;not enabled in this configuration&gt;
[ ] Module: http2c
Depend: http
LIB: lib/http2/*.jar
XML: etc/jetty-http2c.xml
Enabled: &lt;not enabled in this configuration&gt;
[ ] Module: https
Depend: ssl
XML: etc/jetty-https.xml
Enabled: &lt;not enabled in this configuration&gt;
[ ] Module: infinispan
Depend: annotations
Depend: webapp
LIB: lib/jetty-infinispan-${jetty.version}.jar
LIB: lib/infinispan/*.jar
XML: etc/jetty-infinispan.xml
Enabled: &lt;not enabled in this configuration&gt;
[ ] Module: ipaccess
Depend: server
XML: etc/jetty-ipaccess.xml
Enabled: &lt;not enabled in this configuration&gt;
[ ] Module: jaas
Depend: server
LIB: lib/jetty-jaas-${jetty.version}.jar
XML: etc/jetty-jaas.xml
Enabled: &lt;not enabled in this configuration&gt;
[ ] Module: jamon
Depend: stats
Depend: deploy
Depend: jmx
Depend: jsp
LIB: lib/jamon/**.jar
XML: etc/jamon.xml
Enabled: &lt;not enabled in this configuration&gt;
[ ] Module: jaspi
Depend: security
LIB: lib/jetty-jaspi-${jetty.version}.jar
LIB: lib/jaspi/*.jar
Enabled: &lt;not enabled in this configuration&gt;
[ ] Module: jdbc-sessions
Depend: annotations
Depend: webapp
XML: etc/jetty-jdbc-sessions.xml
Enabled: &lt;not enabled in this configuration&gt;
[ ] Module: jminix
Depend: stats
Depend: jmx
LIB: lib/jminix/**.jar
XML: etc/jminix.xml
Enabled: &lt;not enabled in this configuration&gt;
[ ] Module: jmx
Depend: server
LIB: lib/jetty-jmx-${jetty.version}.jar
XML: etc/jetty-jmx.xml
Enabled: &lt;not enabled in this configuration&gt;
[ ] Module: jmx-remote
Depend: jmx
XML: etc/jetty-jmx-remote.xml
Enabled: &lt;not enabled in this configuration&gt;
[ ] Module: jndi
Depend: server
LIB: lib/jetty-jndi-${jetty.version}.jar
LIB: lib/jndi/*.jar
Enabled: &lt;not enabled in this configuration&gt;
[ ] Module: jolokia
Depend: stats
Depend: deploy
Depend: jmx
XML: etc/jolokia.xml
Enabled: &lt;not enabled in this configuration&gt;
[ ] Module: jsp
Depend: servlet
Depend: annotations
Depend: apache-jsp
Enabled: &lt;not enabled in this configuration&gt;
[ ] Module: jstl
Depend: jsp
Depend: apache-jstl
Enabled: &lt;not enabled in this configuration&gt;
[ ] Module: jvm
Enabled: &lt;not enabled in this configuration&gt;
[ ] Module: logging
LIB: lib/logging/**.jar
LIB: resources/
XML: etc/jetty-logging.xml
Enabled: &lt;not enabled in this configuration&gt;
[ ] Module: lowresources
Depend: server
XML: etc/jetty-lowresources.xml
Enabled: &lt;not enabled in this configuration&gt;
[ ] Module: monitor
Depend: server
Depend: client
LIB: lib/monitor/jetty-monitor-${jetty.version}.jar
XML: etc/jetty-monitor.xml
Enabled: &lt;not enabled in this configuration&gt;
[ ] Module: nosql
Depend: webapp
LIB: lib/jetty-nosql-${jetty.version}.jar
LIB: lib/nosql/*.jar
XML: etc/jetty-nosql.xml
Enabled: &lt;not enabled in this configuration&gt;
[ ] Module: plus
Depend: server
Depend: security
Depend: jndi
Depend: webapp
LIB: lib/jetty-plus-${jetty.version}.jar
XML: etc/jetty-plus.xml
Enabled: &lt;not enabled in this configuration&gt;
[ ] Module: proxy
Depend: servlet
Depend: client
LIB: lib/jetty-proxy-${jetty.version}.jar
XML: etc/jetty-proxy.xml
Enabled: &lt;not enabled in this configuration&gt;
[ ] Module: quickstart
Depend: server
Depend: plus
Depend: annotations
LIB: lib/jetty-quickstart-${jetty.version}.jar
Enabled: &lt;not enabled in this configuration&gt;
[ ] Module: requestlog
Depend: server
XML: etc/jetty-requestlog.xml
Enabled: &lt;not enabled in this configuration&gt;
[ ] Module: resources
LIB: resources/
Enabled: &lt;not enabled in this configuration&gt;
[ ] Module: rewrite
Depend: server
LIB: lib/jetty-rewrite-${jetty.version}.jar
XML: etc/jetty-rewrite.xml
Enabled: &lt;not enabled in this configuration&gt;
[x] Module: security
Depend: server
LIB: lib/jetty-security-${jetty.version}.jar
Enabled: &lt;via&gt; &lt;transitive from&gt; ${jetty.base}/start.ini
Enabled: &lt;via&gt; ${jetty.base}/start.ini
[x] Module: server
LIB: lib/servlet-api-3.1.jar
LIB: lib/jetty-schemas-3.1.jar
LIB: lib/jetty-http-${jetty.version}.jar
LIB: lib/jetty-server-${jetty.version}.jar
LIB: lib/jetty-xml-${jetty.version}.jar
LIB: lib/jetty-util-${jetty.version}.jar
LIB: lib/jetty-io-${jetty.version}.jar
XML: etc/jetty.xml
Enabled: &lt;via&gt; &lt;transitive from&gt; ${jetty.base}/start.ini
Enabled: &lt;via&gt; ${jetty.base}/start.ini
[x] Module: servlet
Depend: server
LIB: lib/jetty-servlet-${jetty.version}.jar
Enabled: &lt;via&gt; &lt;transitive from&gt; ${jetty.base}/start.ini
Enabled: &lt;via&gt; ${jetty.base}/start.ini
[ ] Module: servlets
Depend: servlet
LIB: lib/jetty-servlets-${jetty.version}.jar
Enabled: &lt;not enabled in this configuration&gt;
[ ] Module: setuid
Depend: server
LIB: lib/setuid/jetty-setuid-java-1.0.3.jar
XML: etc/jetty-setuid.xml
Enabled: &lt;not enabled in this configuration&gt;
[ ] Module: spring
Depend: server
LIB: lib/spring/*.jar
Enabled: &lt;not enabled in this configuration&gt;
[ ] Module: ssl
Depend: server
XML: etc/jetty-ssl.xml
XML: etc/jetty-ssl-context.xml
Enabled: &lt;not enabled in this configuration&gt;
[ ] Module: stats
Depend: server
XML: etc/jetty-stats.xml
Enabled: &lt;not enabled in this configuration&gt;
[x] Module: webapp
Depend: servlet
Depend: security
LIB: lib/jetty-webapp-${jetty.version}.jar
Enabled: &lt;via&gt; ${jetty.base}/start.ini
Enabled: &lt;via&gt; &lt;transitive from&gt; ${jetty.base}/start.ini
[ ] Module: websocket
Depend: annotations
LIB: lib/websocket/*.jar
Enabled: &lt;not enabled in this configuration&gt;
Jetty Selected Module Ordering:
-------------------------------
1) server ${jetty.base}/start.ini
2) http ${jetty.base}/start.ini
2) security ${jetty.base}/start.ini
2) servlet ${jetty.base}/start.ini
3) webapp ${jetty.base}/start.ini
4) deploy ${jetty.base}/start.ini
</pre></div><p>Wow, are there really that many modules available?</p><p>Yes, the module system has grown a fair bit since it was introduced
in Jetty 9</p><div class="mediaobject" align="center"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0" width="720"><tr><td align="center"><img src="images/modules-9.3-simplified.png" align="middle" width="720"></td></tr></table></div><p></p><p></p></div></div><script type="text/javascript">
SyntaxHighlighter.all()
</script><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="startup-classpath.html"><i class="icon-chevron-left"></i> Previous</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="startup.html"><i class="icon-chevron-up"></i> Top</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="startup-base-and-home.html">Next <i class="icon-chevron-right"></i></a></td></tr><tr><td width="40%" align="left" valign="top">Managing Server Classpath&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html"><i class="icon-home"></i> Home</a></td><td width="40%" align="right" valign="top">&nbsp;Managing Jetty Base and Jetty Home</td></tr></table></div><p xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times"><div class="jetty-callout">
See an error or something missing?
<span class="callout"><a href="http://github.com/jetty-project/jetty-documentation">Contribute to this documentation at
<span class="website"><i class="icon-github"></i> Github!</span></a></span><span style="float: right"><i>(Generated: 2015-06-15T13:18:18-05:00)</i></span></div></p><script xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times" type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-1149868-7']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script></body></html>