Jetty/Starting/Downloads
Contents
Introduction
You can download Jetty as a distribution bundle, a Maven dependency, an OSGi bundle, or install it via a Debian/RPM distribution. When you download and unpack the binary, it is extracted into a directory called jetty-distribution-VERSION. Put this directory into a convenient location. The rest of the instructions in this wiki will refer to this location as either JETTY_HOME or as $(jetty.home).
Jetty@eclipse Download
- Eclipse Downloads
- Core Jetty Web Server (HTTP & Websocket)
- Core Jetty Servlet Container
- JNDI, JMX, OSGi, JASPI modules
- HTTP Client
JETTY_VERSION=7.5.0.v20110901 wget http://download.eclipse.org/jetty/$JETTY_VERSION/dist/jetty-distribution-$JETTY_VERSION.tar.gz tar xfz jetty-distribution-$JETTY_VERSION.tar.gz cd jetty-distribution-$JETTY_VERSION java -jar start.jar
Jetty@codehaus Download
- Codehaus Downloads:
- Hightide Application Server (Jetty WebServer plus EE features)
- Jetty with non-eclipse modules: JSP, Spring, Terracotta, Openspaces, etc.
- Jetty Maven plugin
- Debian, RPM distributions
- Older Jetty releases
wget http://dist.codehaus.org/jetty/jetty-hightide-8.0.0/jetty-hightide-8.0.0.v20110901.tar.gz tar xfz jetty-hightide-8.0.0.v20110901.tar.gz cd jetty-hightide-8.0.0.v20110901 java -jar start.jar
Maven Repositories
The distribution bundles from both Eclipse and Codehaus are available as Maven artefacts:
The individual Jetty modules are also available as Maven artefacts under the org.eclipse.jetty and org.mortbay.jetty group IDs. See Jetty/Howto/Use Jetty with Maven for more details.
OSGi Update Repositories
Jetty is available as OSGi bundles from P2 update sites: Jetty 7.x P2 Update and Jetty 8.x P2 Update.
Source Download
Each jetty module has an equivalent jar containing the sources for that module. These sources jars have the same name as the binary jar, but with a "-sources" qualifier. These can be found on the maven repository at http://repo2.maven.org/maven2/org/eclipse/jetty in the relevant jetty module directories.
Additionally, we provide some handy binary and source jars that contain a useful mixture of classes. The list of these aggregate jars is at http://repo1.maven.org/maven2/org/eclipse/jetty/aggregate/.
Linux Distributions
- Debs: http://central.maven.org/maven2/org/mortbay/jetty/dist/jetty-deb/
- RPMs: http://central.maven.org/maven2/org/mortbay/jetty/dist/jetty-rpm/
Distribution Contents
Here's a quick rundown of the distribution's contents. The top-level directory contains:
- LICENSE-APACHE-2.0.TXT : license file for Jetty (Jetty 7 is dual-licensed)
- LICENSE-ECLIPSE-1.0.HTML : license file for Jetty (Jetty 7 is dual-licensed)
- META-INF : for packaging
- README.txt : contains useful getting started information
- VERSION.txt : Release information
- about.html : "About This Content" page from Eclipse
- bin : utility shell scripts to help run Jetty on unix systems
- contexts : hot deploy contexts directory
- etc : directory for Jetty configuration files
- javadoc : contains the javadoc
- lib : contains all the JAR files necessary to run jetty
- logs : directory for request logs
- notice.html : licenses information and exceptions.
- resources : directory containing additional resources for classpath
- start.ini : Default start arguments
- start.jar : JAR which invokes jetty-7 (see also How to Run Jetty)
- webapps : directory containing webapps which will be run under the default configuration of Jetty; contains demo webapps
Starting and Stopping
To start:
/etc/init.d/jetty start
To stop:
/etc/init.d/jetty stop
Other commands:
/etc/init.d/jetty help
Using setuid
When using the setuid feature you need to ensure that the $JETTY_HOME/etc/jetty-setuid.xml file is first on the list of xml files to execute. To do this, edit the $JETTY_HOME/etc/jetty.conf file and insert the line "--pre=etc/jetty-setuid.xml" before "--pre=etc/jetty-logging.xml". Like this:
# ======================================================== # jetty.conf Configuration for jetty.sh script # -------------------------------------------------------- # This file is used by the jetty.sh script to provide # extra configuration arguments for the start.jar command # created by that script. # # Each line in this file becomes an argument to start.jar # unless this file contains an --ini option, then these # arguments will be in addition to those found in the # start.ini file # ======================================================= --pre=etc/jetty-setuid.xml --pre=etc/jetty-logging.xml