jetty.project/README.md

92 lines
3.9 KiB
Markdown
Raw Normal View History

Eclipse Jetty Canonical Repository
==================================
2017-08-09 17:41:25 -04:00
This is the canonical repository for the Jetty project, feel free to fork and contribute now!
2016-02-12 09:15:03 -05:00
2017-03-01 15:47:09 -05:00
Submitting a patch or pull request?
2017-03-01 15:47:09 -05:00
Make sure you have an Eclipse Contributor Agreement (ECA) on file.
2017-03-01 15:47:09 -05:00
- [eclipse.org/legal/ecafaq](https://www.eclipse.org/legal/ecafaq.php)
2016-02-12 09:15:03 -05:00
2014-12-11 13:43:55 -05:00
Project description
-------------------
2013-08-30 10:04:21 -04:00
Jetty is a lightweight highly scalable java based web server and servlet engine.
2017-08-09 17:41:25 -04:00
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.
2014-12-11 13:43:55 -05:00
- [https://projects.eclipse.org/projects/rt.jetty](https://projects.eclipse.org/projects/rt.jetty)
Webapp Example
--------------
```shell
$ 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
----------------
```java
Server server = new Server(port);
ServletContextHandler context = new ServletContextHandler(server, "/");
context.addServlet(MyServlet.class, "/*");
server.start();
```
2014-12-11 13:43:55 -05:00
Documentation
-------------
2014-12-11 13:43:55 -05:00
Project documentation is available on the Jetty Eclipse website.
2014-12-11 13:43:55 -05:00
2024-06-21 12:41:01 -04:00
- [https://jetty.org/docs/](https://jetty.org/docs/)
2016-07-20 00:02:13 -04:00
Building
========
[Apache Maven 3.8.0](https://maven.apache.org/) and [OpenJDK](https://adoptium.net/) 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:
``` shell
mvn clean install
```
Fast Build if you need jars and distribution (not running tests, checkstyle, enforcer, license check):
2017-03-01 15:47:09 -05:00
``` shell
mvn -Pfast clean install
2016-07-20 00:02:13 -04:00
```
Optional build tools:
2016-07-20 00:02:13 -04:00
* [`graphviz`](https://graphviz.org/) - used by asciidoctor in the jetty-documentation build to produce various graphs
* [`Docker`](https://www.docker.com/) - used to run some integration tests for testing third party integrations
2016-07-20 00:02:13 -04:00
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:
2016-07-20 00:02:13 -04:00
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
2016-07-20 00:02:13 -04:00
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).
2014-12-11 13:43:55 -05:00
Professional Services
---------------------
2014-12-11 13:43:55 -05:00
2019-11-05 17:23:49 -05:00
Expert advice and production support are available through [Webtide.com](https://webtide.com).