Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Jetty/Starting/Porting to Jetty 7
Contents
Introduction
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 3rd 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 @ Eclipse, Jetty 7 @ Codehaus
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.
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.
A quick overview of the general refactoring is here:
Jetty 6 Package/Class | Matching Jetty 7 Package/Class | Similar Jetty 7 Package/Class |
---|---|---|
org.mortbay.* | org.eclipse.jetty.* | |
org.mortbay.jetty.* | org.eclipse.jetty.* | |
org.mortbay.util.ajax.* | org.eclipse.jetty.json.* | |
org.morbay.log.* | org.eclipse.jetty.util.log.* | |
org.mortbay.jetty.security.UserRealm | org.eclipse.jetty.security.LoginService | |
org.mortbay.jetty.security.HashUserRealm | org.eclipse.jetty.security.HashLoginService | |
org.mortbay.jetty.servlet.Context | org.eclipse.jetty.servlet.ServletContextHandler | |
org.mortbay.util.ajax.Continuation | org.eclipse.jetty.continuation.Continuation | |
org.mortbay.util.ajax.ContinuationSupport | org.eclipse.jetty.continuation.ContinuationSupport | |
Type of change | Jetty 6 | Jetty 7 |
---|---|---|
Maven plugin artifact id | maven-jetty-plugin | jetty-maven-plugin |
Split up server JAR | jetty.jar |
|
For a complete list of changes, see Porting to Jetty 7/Refactoring
Architectural Changes
Configuration
Handlers
Startup Options
Continuations
Jetty 7 introduces portable continuations, which are meant to
Cometd
Licenses
Jetty Version Comparison Table
Version | Servlet | Java | Namespace | Licenses | Site | Status |
---|---|---|---|---|---|---|
Jetty 9 | Servlet 3.1 | Java 1.8 | org.eclipse.jetty.* | EPLv1 / ASLv2 | Eclipse.org | Stable Release |
Jetty 8 | Servlet 3.0 | Java 1.6 | org.eclipse.jetty.* | EPLv1 / ASLv2 | Eclipse.org | End of Life / Nov 2014 |
Jetty 7 | Servlet 2.5 | Java 1.5 | org.eclipse.jetty.* | EPLv1 / ASLv2 | Eclipse.org | End of Life / Nov 2014 |
Jetty 6 | Servlet 2.5 | Java 1.4 | org.mortbay.* | ASLv2 | Codehaus.org | End of Life / Nov 2010 |
Note: cometd server is not shipped within the Jetty distribution, it can be obtained from the cometd.org website.