Eclipse Jetty® - Web Container & Clients - supports HTTP/2, HTTP/1.1, HTTP/1.0, websocket, servlets, and more
Go to file
Ludovic Orban 475a706fd1 Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-11.0.x 2023-08-31 09:30:01 +02:00
.github Fixes #10350 - Support Java 21 virtual threads 2023-08-23 11:58:24 +02:00
.mvn Enable errorprone and spotbugs for java 17 (#7604) 2022-02-17 10:12:01 +10:00
apache-jsp Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-11.0.x 2023-07-14 12:48:56 -05:00
build-resources Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-11.0.x 2023-07-06 07:45:57 -05:00
demos Merged branch 'jetty-10.0.x' into 'jetty-11.0.x'. 2023-08-21 09:01:22 +02:00
documentation Merged branch 'jetty-10.0.x' into 'jetty-11.0.x'. 2023-08-24 19:41:57 +02:00
glassfish-jstl Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-11.0.x 2023-07-14 12:48:56 -05:00
javadoc Issue #9631 - use correct artifactId for exclusions 2023-05-05 16:41:27 +10:00
jetty-alpn Updating to version 11.0.16-SNAPSHOT 2023-04-11 13:53:30 -05:00
jetty-annotations Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-11.0.x 2023-07-14 12:48:56 -05:00
jetty-ant Updating to version 11.0.16-SNAPSHOT 2023-04-11 13:53:30 -05:00
jetty-bom Updating to version 11.0.16-SNAPSHOT 2023-04-11 13:53:30 -05:00
jetty-cdi Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-11.0.x 2023-07-14 12:48:56 -05:00
jetty-client Merged branch 'jetty-10.0.x' into 'jetty-11.0.x'. 2023-08-21 10:45:27 +02:00
jetty-deploy Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-11.0.x 2023-07-14 12:48:56 -05:00
jetty-fcgi Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-11.0.x 2023-07-14 12:48:56 -05:00
jetty-gcloud Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-11.0.x 2023-07-14 12:48:56 -05:00
jetty-hazelcast Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-11.0.x 2023-07-14 12:48:56 -05:00
jetty-home Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-11.0.x 2023-08-31 09:30:01 +02:00
jetty-http Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-11.0.x 2023-08-31 09:30:01 +02:00
jetty-http-spi Merged branch 'jetty-10.0.x' into 'jetty-11.0.x'. 2023-06-11 19:10:54 +02:00
jetty-http2 Merged branch 'jetty-10.0.x' into 'jetty-11.0.x'. 2023-08-21 09:01:22 +02:00
jetty-http3 Merged branch 'jetty-10.0.x' into 'jetty-11.0.x'. 2023-07-26 10:43:21 +02:00
jetty-infinispan Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-11.0.x 2023-06-05 17:23:43 +02:00
jetty-io Merged branch 'jetty-10.0.x' into 'jetty-11.0.x'. 2023-08-02 22:41:00 +02:00
jetty-jaas Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-11.0.x 2023-07-14 12:48:56 -05:00
jetty-jaspi Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-11.0.x 2023-07-14 12:48:56 -05:00
jetty-jmx Updating to version 11.0.16-SNAPSHOT 2023-04-11 13:53:30 -05:00
jetty-jndi Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-11.0.x 2023-07-14 12:48:56 -05:00
jetty-jspc-maven-plugin Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-11.0.x 2023-07-14 12:48:56 -05:00
jetty-keystore Updating to version 11.0.16-SNAPSHOT 2023-04-11 13:53:30 -05:00
jetty-maven-plugin Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-11.0.x 2023-07-14 12:48:56 -05:00
jetty-memcached Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-11.0.x 2023-07-14 12:48:56 -05:00
jetty-nosql Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-11.0.x 2023-07-14 12:48:56 -05:00
jetty-openid Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-11.0.x 2023-07-14 12:48:56 -05:00
jetty-osgi Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-11.0.x 2023-07-14 12:48:56 -05:00
jetty-p2 Merge branch 'jetty-10.0.x' into jetty-11.0.x 2023-08-24 18:47:19 +10:00
jetty-plus Updating to version 11.0.16-SNAPSHOT 2023-04-11 13:53:30 -05:00
jetty-proxy Merged branch 'jetty-10.0.x' into 'jetty-11.0.x'. 2023-07-17 11:05:47 +02:00
jetty-quic Merged branch 'jetty-10.0.x' into 'jetty-11.0.x'. 2023-07-26 10:43:21 +02:00
jetty-quickstart Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-11.0.x 2023-07-14 12:48:56 -05:00
jetty-rewrite Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-11.0.x 2023-07-14 12:48:56 -05:00
jetty-runner Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-11.0.x 2023-07-14 12:48:56 -05:00
jetty-security Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-11.0.x 2023-07-14 12:48:56 -05:00
jetty-server Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-11.0.x 2023-08-31 09:30:01 +02:00
jetty-servlet Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-11.0.x 2023-07-14 12:48:56 -05:00
jetty-servlets Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-11.0.x 2023-07-14 12:48:56 -05:00
jetty-slf4j-impl Updating to version 11.0.16-SNAPSHOT 2023-04-11 13:53:30 -05:00
jetty-start Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-11.0.x 2023-07-14 12:48:56 -05:00
jetty-unixdomain-server Updating to version 11.0.16-SNAPSHOT 2023-04-11 13:53:30 -05:00
jetty-unixsocket Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-11.0.x 2023-07-14 12:48:56 -05:00
jetty-util Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-11.0.x 2023-08-31 09:30:01 +02:00
jetty-util-ajax Updating to version 11.0.16-SNAPSHOT 2023-04-11 13:53:30 -05:00
jetty-webapp Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-11.0.x 2023-07-14 12:48:56 -05:00
jetty-websocket Merged branch 'jetty-10.0.x' into 'jetty-11.0.x'. 2023-08-17 17:02:13 +02:00
jetty-xml Merged branch 'jetty-10.0.x' into 'jetty-11.0.x'. 2023-07-27 00:09:10 +02:00
logos Issue #4572 - Mechanical Change to use org.slf4j 2020-03-16 15:48:25 -05:00
scripts Fixing release script 2021-10-06 14:23:15 -05:00
tests Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-11.0.x 2023-08-31 09:30:01 +02:00
.gitattributes Updating attributes 2020-09-25 09:48:38 -05:00
.gitignore Add ignore .checkstyle 2023-02-22 15:20:43 +11:00
.lgtm.yml Create .lgtm.yml 2021-01-25 15:58:41 -05:00
CODE_COVERAGE.md http-spi test improvement (#62) 2016-05-04 10:56:56 +10:00
CODE_OF_CONDUCT.md Fixes #10107 (#10109) 2023-07-15 15:18:55 +02:00
CONTRIBUTING.md Updating various old/moved URL references found across project (`jetty-10.0.x`) (#10098) 2023-07-14 12:38:45 -05:00
Jenkinsfile Beef up `ci` profile to make it easier to run in the same modes on local machine 2023-03-01 13:08:51 -06:00
Jenkinsfile-autobahn Update Jenkinsfile-autobahn to not use not anymore available container (#10001) 2023-08-15 07:11:26 +02:00
Jmh_Jenkinsfile Merge branch 'jetty-9.4.x' into jetty-10.0.x 2019-07-09 12:57:26 +10:00
KEYS.txt add GPG key and developer tag 2020-11-04 17:25:11 +01:00
LICENSE Issue #5784 - Fixing LICENSE file 2020-12-10 15:45:35 -06:00
NOTICE.txt Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-11.0.x 2023-07-14 12:48:56 -05:00
README.md Updating various old/moved URL references found across project (`jetty-10.0.x`) (#10098) 2023-07-14 12:38:45 -05:00
SECURITY.md Updating various old/moved URL references found across project (`jetty-10.0.x`) (#10098) 2023-07-14 12:38:45 -05:00
VERSION.txt Merged branch 'jetty-10.0.x' into 'jetty-11.0.x'. 2023-05-03 19:26:44 +02:00
header-template.txt Happy no year 2023-02-15 15:22:32 +11:00
pom.xml Merged branch 'jetty-10.0.x' into 'jetty-11.0.x'. 2023-08-24 18:37:00 +02:00

README.md

Eclipse Jetty Canonical Repository

This is the canonical repository for the Jetty project, feel free to fork and contribute now!

Submitting a patch or pull request?

Make sure you have an Eclipse Contributor Agreement (ECA) on file.

Project description

Jetty is a lightweight highly scalable java based web server and servlet engine. Our goal is to support web protocols like HTTP, HTTP/2 and WebSocket in a high volume low latency way that provides maximum performance while retaining the ease of use and compatibility with years of servlet development. Jetty is a modern fully async web server that has a long history as a component oriented technology easily embedded into applications while still offering a solid traditional distribution for webapp deployment.

Webapp Example

$ mkdir base && cd base
$ java -jar $JETTY_HOME/start.jar --add-modules=http,deploy
$ cp ~/src/myproj/target/mywebapp.war webapps
$ java -jar $JETTY_HOME/start.jar 

Embedded Example

Server server = new Server(port);
ServletContextHandler context = new ServletContextHandler(server, "/");
context.addServlet(MyServlet.class, "/*");
server.start();

Documentation

Project documentation is available on the Jetty Eclipse website.

Building

Apache Maven 3.8.0 and OpenJDK requirements:

Branch Maven Version Minimum JDK Recommended JDK
jetty-10.0.x Maven 3.8.6+ OpenJDK 11 OpenJDK 17 (for optional loom and http/3 support)
jetty-11.0.x Maven 3.8.6+ OpenJDK 11 OpenJDK 17 (for optional loom and http/3 support)
jetty-12.0.x Maven 3.8.6+ OpenJDK 17 OpenJDK 17

Full Build with All Tests:

mvn clean install

Fast Build if you need jars and distribution (not running tests, checkstyle, enforcer, license check):

mvn -Pfast clean install

Optional build tools:

  • graphviz - used by asciidoctor in the jetty-documentation build to produce various graphs
  • Docker - used to run some integration tests for testing third party integrations

Once the build is complete, you can find the built Jetty Maven artifacts in your Maven local repository. Along with the following locations of note:

Branches Location Description
all jetty-home/target/jetty-home-<ver>.tar.gz The Jetty Home standalone tarball
jetty-10.0.x jetty-runner/target/jetty-runner-<ver>.jar The Jetty Runner uber jar
jetty-11.0.x jetty-runner/target/jetty-runner-<ver>.jar The Jetty Runner uber jar
jetty-12.0.x jetty-ee10/jetty-ee10-runner/target/jetty-ee10-runner-<ver>.jar The Jetty Runner uber jar for ee10/Servlet 6 (jakarta.servlet) webapps
jetty-12.0.x jetty-ee9/jetty-ee9-runner/target/jetty-ee9-runner-<ver>.jar The Jetty Runner uber jar for ee9/Servlet 5 (jakarta.servlet) webapps
jetty-12.0.x jetty-ee8/jetty-ee8-runner/target/jetty-ee8-runner-<ver>.jar The Jetty Runner uber jar for ee8/Servlet 4 (javax.servlet) webapps

Note: The build tests do a lot of stress testing, and on some machines it is necessary to set the file descriptor limit to greater than 2048 for the tests to all pass successfully (check your ulimit -n value).

Professional Services

Expert advice and production support are available through Webtide.com.