Jump to: navigation, search

Jetty/Starting/Porting to Jetty 7


The intent of jetty-7 is to allow users to transition to the updated architecture and to access some servlet-3.0 features within a servlet-2.5 container, but without the need to update Java 1.6 or to wait for the final specification.

Jetty 7 is not a drop-in replacement for Jetty 6. While Jetty 7 has very much the same architecture as Jetty 6, there are packaging changes and other minor tweaks between the versions. Also, the Jetty 7 milestones are not as full featured as Jetty 6 in terms of third party integrations being available by default with the distribution bundle.

If your application adheres to standards, porting to Jetty 7 should simply be a matter of updating your configuration files. However, if your application uses non-standard or Jetty-specific APIs, then additional porting work will be required. This page gives a brief overview of the changes needed to port to Jetty 7.

Jetty 7 Source Locations

The core Jetty 7 modules have all moved to Eclipse, but some Jetty integrations (e.g., jetty-maven-plugin, terracotta, wadi) and distributions (e.g., deb, rpm, hightide) still remain at codehaus. If you are looking for these, see codehaus trunk.

Meanwhile, Jetty's implementation of a Cometd server is no longer bundled with the core modules, but is available at cometd.org.

Renaming of Classes and Packages

The Jetty 7 codebase was moved to the org.eclipse.jetty.* package space and remodularized so that dependencies for client, server and servlet container are more separable. We have written a converter tool to ease the conversion of your application source and configuration files to use the new package space: Upgrade from Jetty 6 to Jetty 7.

Quick guide to renamed packages and classes. (Covers most, but not all, cases)
Jetty 6 Matching in Jetty 7 Similar in Jetty 7
org.mortbay.(jetty).* org.eclipse.jetty.*
packages under modules/util - org.mortbay.util.*, org.mortbay.log, org.mortbay.component, org.mortbay.thread, org.mortbay.resource org.eclipse.jetty.util.*, org.eclipse.jetty.util.log, org.eclipse.jetty.util.component, etc




org.mortbay.jetty.servlet.Context org.eclipse.jetty.servlet.ServletContextHandler




Other refactoring changes to watch out for when moving to Jetty 7
Type of change Jetty 6 Jetty 7
Maven plugin artifact id maven-jetty-plugin jetty-maven-plugin
Split up server JAR jetty.jar jetty-server.jar, jetty-deploy.jar, jetty-io.jar, jetty-security.jar, jetty-servlet.jar, jetty-servlets.jar, jetty-webapp.jar, jetty-xml.jar
Removed unused module jetty-html.jar ~
Renamed JAR jetty-rewrite-handler.jar jetty-rewrite.jar
Renamed JAR jetty-management.jar jetty-jmx.jar
New Continuation JAR from jetty-util.jar jetty-continuation.jar
Removed class org.mortbay.jetty.plus.jaas.callback.DefaultCallbackHandler Inner class in JAASLoginService

For a complete list of changes, see Porting to Jetty 7/Refactoring

Architectural Changes



Startup Options


Jetty 7 introduces portable continuations, which allow...


Jetty 6 is licensed under the Apache 2.0 License; Jetty 7 is dual licensed under the Apache License 2.0 and Eclipse Public License 1.0 and can be distributed under the terms of either license.

Jetty Version Comparison Table

Jetty 7 and Jetty 8 are now EOL (End of Life)

All development and stable releases are being performed with Jetty 9.
This wiki is now officially out of date and all content has been moved to the Jetty Documentation Hub

Direct Link to updated documentation: http://www.eclipse.org/jetty/documentation/current/what-jetty-version.html

Note: cometd server is not shipped within the Jetty distribution, it can be obtained from the cometd.org website.

Additional Resources