jetty/jetty.project
开发工具轻量级 Java Web 服务器与 Servlet 引擎,可独立部署 Web 应用,也可嵌入 Java 程序运行。
项目介绍
Eclipse Jetty 是一个轻量、异步的 Java Web 服务器和 Servlet 引擎,支持 HTTP/1、HTTP/2、HTTP/3、WebSocket 等协议,目标是在保持 Servlet 开发习惯和兼容性的同时,以高并发、低延迟的方式提供服务。它主要有两种用法:作为传统独立服务器部署 WAR 包,或作为组件嵌入 Java 应用。
适用对象是构建 Web 应用或服务的 Java 开发者,以及把 Web 应用部署到 Jetty 分发包上的运维人员。官方文档按用途分为三部分:面向独立安装和部署的运维指南、面向嵌入 Jetty 库的编程指南,以及面向项目贡献者的贡献指南(文档入口、运维指南、编程指南)。
快速使用
最小的独立部署需要包含 start.jar 的 Jetty 主目录、Java 运行时和已构建的 WAR 包。在一个空目录中,先添加 HTTP 和 Jakarta EE 11 部署模块,把 WAR 放进 webapps/,再启动 Jetty:
mkdir jetty-base && cd jetty-base
java -jar $JETTY_HOME/start.jar --add-modules=http,ee11-deploy
cp ~/src/myproj/target/mywebapp.war webapps
java -jar $JETTY_HOME/start.jar
--add-modules 会生成基础配置;start.jar 运行后,Jetty 即对外提供已部署的 Web 应用。若要在同一实例中并列部署不同 Servlet 环境的 Web 应用,额外添加 ee8-deploy 模块,并在较旧的 Web 应用旁放置内容为 environment: ee8 的属性文件(Web 应用示例、多版本示例)。
嵌入使用时,可以通过构造 Server、设置 Handler 并调用 start() 启动 Jetty:
Server server = new Server(port);
server.setHandler(new MyHandler());
server.start();
Servlet 上下文也可以用 ServletContextHandler 和 addServlet() 以同样方式挂载(嵌入示例、嵌入 Servlet 示例)。从源码构建使用 Maven:克隆仓库后运行 mvn -Pfast clean install,其中 fast profile 会跳过测试和其他检查(构建说明)。
使用约束
独立使用需要 Java 运行时和包含 start.jar 的 Jetty 分发包;模块名(http、ee11-deploy、ee8-deploy)决定启用哪些部署能力。嵌入使用要求把 Jetty 库加入应用 classpath。仓库的 GitHub 元数据未给出许可证标识,再分发或商用前需确认项目的许可条款。生产环境的技术支持由 Webtide 单独提供(商业支持)。
HotRepo 点评
该项目在 2026-11-06 的 Java 日榜上排名第 21,当天没有记录到 Star 变化,因此站内可见记录反映的是一次上榜位置,而不是持续增长。项目自 2011 年延续至今,作为可嵌入的 Java 服务器已有稳定定位;它在本站的价值更多来自协议覆盖范围以及“独立部署 + 嵌入使用”两种方式,而不是短期热度。
本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。