Jetty 12.1.14 介绍与选型指南

Jetty 12.1.14 介绍与选型指南:基于官方资料梳理这款 Servlet 引擎的信息基准、jetty-home 与模块机制架构、Servlet 6.1 与 HTTP/3 等功能特性、快速上手、适用场景与限制,并对比 Tomcat、Undertow、Netty 的选型差异。

JettyJetty2026/10/19

Jetty 12.1.14 介绍与选型指南

一、信息基准

本文为 Eclipse Jetty 的介绍与选型指南,全部信息均来自官方公开资料(Jetty 官网下载页与运维指南、Maven Central、GitHub 官方发布与仓库),不做本地安装与运行实测。

项目内容
查询日期2026-10-18
版本依据jetty.org 官方下载页最新发布 12.1.14(与 Maven Central org.eclipse.jetty:jetty-home:12.1.14 及 GitHub 发布记录一致,2026-10-05);并行维护线 12.0.40
开源许可双许可:EPL-2.0 与 Apache-2.0(官方源码仓库父 POM licenses 声明,仓库 LICENSE 文件为 EPL 2.0)
项目状态Eclipse 基金会项目;官网标注 12.1 为 Stable/Supported 社区支持版本

官方来源清单:

来源链接说明
Jetty 官方下载页https://jetty.org/download.html12.1.14/12.0.40 发布与完整版本历史表
Maven Centralhttps://repo1.maven.org/maven2/org/eclipse/jetty/jetty-home/12.1.14/jetty-home 官方分发包
GitHub 发布记录https://github.com/jetty/jetty.project/releases12.1.14 与 12.0.40(2026-10-05)
官方运维指南https://jetty.org/docs/jetty/12/operations-guide/index.html独立服务器安装与启动
API 文档https://javadoc.jetty.org/jetty-12.1/index.htmlJetty 12.1 官方 Javadoc

版本节奏:官网版本历史显示 12.1 自 2025 年起持续迭代,12.1.x 补丁线高频发布(Maven Central 元数据显示 12.1 线已发布至 12.1.14,最近一次元数据更新 2026-10-05);12.1.14 与 12.0.40 同日发布,体现双线并行维护。

二、软件概述

本文介绍的版本为 Eclipse Jetty 12.1.14(2026-10-05 发布)。

Jetty 是 Eclipse 基金会旗下的 Servlet 引擎与 HTTP 服务器,纯 Java 实现,既可作为独立服务器部署 Web 应用,也常以组件形式嵌入 Java 应用提供 HTTP 能力。Jetty 12.1 依官方版本历史表:最低 JVM 17;同时支持 Servlet 3.1、4.0、5.0、6.0、6.1 多个规范层级;协议覆盖 HTTP/1.1(RFC 7230)、HTTP/2(RFC 7540)、HTTP/3(RFC 9114)、WebSocket(RFC 6455)与 FastCGI;支持 Jakarta EE 8 至 EE 11 命名空间,并保留 JavaEE 命名空间(仅 EE 8 一档)的兼容选项。

社区支持状况(官网明示):Jetty 10 与 11 已于 2024 年 1 月 1 日结束社区支持,9.4 亦标注 EOL;官网建议新项目使用 Jetty 12。

三、核心架构 / 核心概念

3.1 jetty-home 与 jetty-base

官方运维指南将部署拆分为两层:jetty-home 是从 Maven Central 下载的官方发行包,保持只读、可整体升级;jetty-base 是用户的运行实例目录,存放配置、日志与 Web 应用。启动入口为发行包内的 start.jar,通过命令行向其传递选项完成模块装配。

3.2 模块机制

Jetty 通过模块(module)声明功能单元,启动时按需启用:官方运维指南给出的独立服务器启动示例为 java -jar $JETTY_HOME/start.jar --add-modules=server,http,ee10-deploy,也支持 --add-modules 之外的默认配置启动 java -jar $JETTY_HOME/start.jar。模块化让同一发行包既能裁剪为极小 HTTP 服务,也能扩展出完整的 Servlet 规范承载能力。

3.3 协议与规范层级

Jetty 12.1 官方支持的协议族包括 HTTP/1.1、HTTP/2、HTTP/3(RFC 9114)、WebSocket 与 FastCGI;Servlet 规范同时挂载多层级(3.1 至 6.1),使同一发行包可服务老旧 EE 8 应用与最新 Jakarta EE 11 应用,这是 Jetty 12 系列相对前代最显著的架构演进。

四、功能特性

  1. Servlet 引擎主线:覆盖 Servlet 6.1 / Jakarta EE 11,向下兼容 Servlet 5.0、4.0、3.1 层级(官网版本表)。
  2. HTTP/3 支持:官方支持 RFC 9114 定义的 HTTP/3 协议。
  3. WebSocket:RFC 6455 与 JSR 356 级别支持。
  4. FastCGI:官方协议支持清单包含 FastCGI,可与外部进程网关对接。
  5. 双命名空间:Jakarta EE 命名空间全面支持,另提供 JavaEE 命名空间(EE 8 档)过渡选项。
  6. 嵌入式能力:作为 Java 组件嵌入应用进程,是众多中间件内置 HTTP 层的常见选择。
  7. 模块化裁剪:start.jar 模块机制按需装配功能,发行包与运行实例分离。
  8. JPMS 可选:官网脚注说明 JVM 模块系统支持为可选能力。

五、快速上手

以下步骤引自官方运维指南(https://jetty.org/docs/jetty/12/operations-guide/begin/index.html ),本文不做实测。

  1. 下载:从 Maven Central 获取官方发行包 jetty-home-12.1.14.zip 或 .tar.gz(官网下载页给出直达链接),解压后设置 JETTY_HOME 指向该目录。
  2. 建立运行实例目录 jetty.base(官方文档以 base 目录承载配置与应用)。
  3. 以独立服务器方式启动,按官方示例按需启用模块:
java -jar $JETTY_HOME/start.jar --add-modules=server,http,ee10-deploy

或使用默认配置直接启动:

java -jar $JETTY_HOME/start.jar
  1. 完整命令用法详见官方运维指南与 start.jar 自带说明。

官方来源:https://jetty.org/download.html 、https://jetty.org/docs/jetty/12/operations-guide/begin/index.html

六、适用场景与限制

适用场景:需要最新 Jakarta EE 11(Servlet 6.1)规范的 Web 应用运行时;对 HTTP/2、HTTP/3、WebSocket 有原生协议需求的接入层;作为嵌入式 HTTP 引擎集成进 Java 应用或中间件;需要同一运行时兼容新旧命名空间应用并存的迁移期环境。

限制:最低 JVM 17(官网要求),存量 JDK 8 应用无法直接运行 Jetty 12;Jetty 10/11/9.4 已 EOL,升级是使用新版的先决条件;作为通用 Servlet 引擎,其开箱即用的管理控制台等周边设施不如部分商业方案完备,复杂治理需自行组合;社区版按 Eclipse 社区节奏维护,商业支持需另行采购(官网 Professional Services 说明)。

七、同类选型对比

对比维度说明:与同为 Java Servlet 引擎/HTTP 基础组件的 Apache Tomcat、Undertow 及偏网络编程框架的 Netty 对比。数据查询日期 2026-10-18:版本取自 GitHub 官方发布记录与 Maven Central 元数据,stars 取自各项目 GitHub 官方仓库页面。

维度Jetty 12.1.14Apache Tomcat 11.0.27Undertow 2.4.4.FinalNetty 4.2.19.Final
开源许可EPL-2.0 / Apache-2.0 双许可(官方 POM)Apache-2.0(官方仓库 LICENSE)Apache-2.0(官方仓库 LICENSE)Apache-2.0(官方仓库 LICENSE)
GitHub stars约 4099(jetty/jetty.project)约 8260(apache/tomcat)约 3759(undertow-io/undertow)约 35058(netty/netty)
最近发版12.1.14(2026-10-05,官方下载页)11.0.27(GitHub 官方发布记录)2.4.4.Final(Maven Central 元数据)4.2.19.Final(GitHub 官方发布记录)
版本节奏12.1 与 12.0 双线并行,补丁高频(Maven Central 已至 12.1.14)11.0/10.1/9.0 三线并行维护(官方发布记录同日多线发布)2.4.x 主线小步迭代4.2/4.1 双线维护
兼容矩阵Servlet 3.1–6.1;Jakarta EE 8–11;最低 JVM 17Jakarta EE 11 主线(11.0.x),10.1 对应 EE 10非 Servlet 引擎主线,主打灵活的 HTTP 与低层 API异步网络框架,非 Servlet 规范实现

选型建议:需要一个功能完整、协议新(含 HTTP/3)且许可宽松的 Servlet 引擎或嵌入式 HTTP 组件时优先考虑 Jetty;追求最广泛文档与社区惯例的团队选 Tomcat;以编程方式精细控制 HTTP 服务并自建路由的团队可选 Undertow 或 Netty。

八、参考链接