See Jetty Trouble Shooting FAQ.
Why is it called Jetty?
Jetty was originally developed by Greg Wilkins of Mort Bay Consulting in 1995!
Mort Bay is at the heart of Balmain, Sydney NSW, Australia. A former working class suburb, now yuppieville in Sydney's close inner-west. Greg was living by Mort Bay when the company was formed, hence the company name.
Jetty was originally called IssueTracker (its original application) and then MBServler (Mort Bay SERVLet servER). Neither of these were much liked, so Jetty was finally picked as:
- it starts with a J
- the double tt in jetty:// looks a little like http://
- there is a jetty in the Mort Bay logo.
- there were no better suggestions.
Who uses Jetty?
Jetty has a huge variety of users:
See the Jetty Powered
page for more exemplar users.
Why use Jetty?
Some of the reasons to use Jetty over other available options are:
- Jetty is Open source with a commercially usable license.
- Jetty has a small foot print, yet is full featured and standards based.
- Jetty is flexible and extensible, so that if your application/deployment is not a standard webapp, Jetty can easily be customized.
- Jetty provides asynchronous HTTP handling within the safe standard servlet API model, without the need to program at the asynchronous IO level.
- Jetty has an innovative, responsive and approachable developer community.
See also a Comparative Analysis with Tomcat
What's the difference between Jetty from Mort Bay, Codehaus and/or Eclipse?
The latest releases of core jetty-7 and later are available from Eclipse
, which use the org.eclipse.jetty packaging. For versions 6 of Jetty, plus some jetty-7 components such as RPMs, Debs, Hightide, use codehaus
, which uses the org.mortbay packaging. For more information on this topic see 
How do I ask a question?
You can get some help from the Jetty community by posting a question to #jetty on irc.freenode.org or to the email@example.com mailing list. When posting, please be sure to have available as a minimum the following information:
- Jetty version
- Browser version
- OS platform
- JVM version
- Command line
- Full stack trace of any exceptions
If your problem involves a complex webapp, please try and provide us with just a small webapp instead that also demonstrates the problem.
Debug logs, packet traces from tools such as ethereal or copies of the HTTP dialog as captured by tools such as Firefox "Live HTTP Headers" are always useful.
How do I know which version of Jetty I am running?
Locate the start.jar in your distribution. Then use the "--version" flag:
java -jar start.jar -- version
Is commercial support available?
Is Jetty 7 a drop in replacement for Jetty 6?
No, 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 fully featured as Jetty 6 in terms of third party integrations being available by default with the distribution bundle. Please see the Upgrades section of our Getting Started documentation
Can I use spring to configure Jetty?
Yes. Jetty can be assembled with any IoC style framework including our own XmlConfiguration and spring
. It is the same as embedding jetty, a server is instantiated, injected with configuration and started. See the Spring File Server
example or the Jetty Spring HOWTO
Can you recommend some useful web developer tools?
These tools have nothing to do specifically with Jetty; they're just a list of tools we find useful in developing and diagnosing misbehaving webapps:
Browsers and GUI Tools
Http Protocol Analysis
Does Jetty support WebSocket?
Yes. Jetty has a WebSocket Server implementation. See this blog
for an introduction.
Jetty and Your Service Provider
Why has my web service (for example, email) crashed six times in the last two months? The error page says "powered by Jetty," so it must be your fault.
Jetty is the web infrastructure your service provider uses. The fact that you can see "powered by Jetty" indicates that Jetty is still working fine. It is the email application running on top of Jetty that has failed for some reason. You need to contact your service provider.
StressTest.java Fails on Mac OS
Why does StressTest.java fail on Mac OS?
StressTest in jetty-server might fail on Mac OS X due to an insufficient port range. Most operating systems have a limit of 65535 available TCP/IP ports.
Read the following wikipedia entry for details:
[...]The IANA suggests 49152 to 65535 as "dynamic and/or private ports.[...]
[...]Many Linux kernels use 32768 to 61000.[...]
We have fixed the test code to make StressTest.java run successfully on Mac OS. If it nonetheless fails on your Mac OS, raise the port range by executing the following
two commands in a terminal:
sudo sysctl -w net.inet.ip.portrange.first=32768
sudo sysctl -w net.inet.ip.portrange.hifirst=32768
We think that Apple raised the limits for Mac OS Lion, so on Lion it should work from scratch. If not, apply the sysctl
commands and retry.
To learn more about Jetty and the web application services it provides, see About Jetty