由 Eclipse 基金会主导制定的企业级 Java 平台标准(Jakarta EE 第 10 版),是 Java EE 8 的官方继任者,定义了云原生时代企业级 Java 应用的核心 API、组件模型与运行时规范,适配微服务、容器化部署场景
基础信息
| 特性 | 说明 |
|---|
| 制定组织 | Eclipse 基金会(Eclipse Foundation)旗下 Jakarta EE 工作组 |
| 前身 | Java EE 8(Oracle 移交至 Eclipse 基金会后更名,核心能力一脉相承) |
| 标准定位 | 企业级 Java 应用开发的顶层规范,覆盖 Web 开发、微服务、安全、数据访问等全场景 |
| 发布时间 | 2022 年 9 月正式发布 |
| 核心目标 | 拥抱云原生(容器化、微服务),简化开发体验,提升与现代基础设施(K8s、Docker)的兼容性 |
| 兼容规则 | 向下兼容 Jakarta EE 9.1,废弃老旧 API(如 Java EE 遗留的 CORBA 相关组件) |
核心背景:从 Java EE 到 Jakarta EE
- 更名原因:Oracle 保留 “Java” 商标所有权,Eclipse 基金会接管后将 Java EE 更名为 Jakarta EE,核心技术体系不变
- 治理模式:由 Eclipse 基金会开源治理,企业(IBM、RedHat、Oracle、微软)+ 社区共同参与标准制定
- 核心价值:避免企业级 Java 标准碎片化,保证不同厂商(如 TomEE、WildFly、Payara)的实现兼容
Jakarta EE 10 核心特性与规范
Jakarta EE 10 聚焦「云原生」和「简化开发」,核心更新分为以下模块:
核心 API 版本升级(基础能力)
| 规范模块 | 版本升级 | 核心优化 |
|---|
| Jakarta Servlet | 6.0 | 简化异步处理 API,支持 HTTP/2 服务器推送,提升高并发性能 |
| Jakarta JSP/JSTL | 3.1/3.0 | 移除老旧依赖,优化表达式语言(EL)性能,适配现代前端开发 |
| Jakarta Faces (JSF) | 4.0 | 轻量级化,支持无状态视图,提升前后端分离场景适配性 |
| Jakarta CDI | 4.0 | 简化依赖注入配置,支持原生 Java 记录类型(Record),增强微服务适配性 |
云原生与微服务增强(核心亮点)
- Jakarta Config 2.0:统一配置管理 API,支持从环境变量、K8s ConfigMap、配置文件等多源读取配置,适配云原生部署
- Jakarta Data 1.0:全新数据访问规范,简化数据库操作,统一关系型 / 非关系型数据库访问接口,替代老旧的 JPA 冗余配置
- 微服务适配:支持将 Jakarta EE 应用拆分为轻量级微服务,兼容 MicroProfile 6.0(微服务规范),可部署至 K8s 集群
- 容器化优化:减少应用启动时间,降低内存占用,适配 Docker 镜像轻量化构建
安全与开发体验优化
- Jakarta Security 3.0:简化身份认证 / 授权配置,支持 OAuth 2.0/OIDC 协议,适配现代企业安全体系
- 简化部署模型:废弃 XML 配置优先模式,默认采用注解 / 编程式配置,减少样板代码
- 模块化增强:支持 Java 模块系统(JPMS),可按需引入模块,降低应用体积
4. 废弃 / 移除的老旧特性
- 移除 CORBA、JAX-RPC 等过时规范
- 废弃依赖
javax.*包名(全面迁移至jakarta.*包名) - 移除对 Java 8 以下版本的支持,最低要求 Java 11
实现与兼容性
主流实现厂商(兼容 Jakarta EE 10 的应用服务器)
| 应用服务器 | 支持情况 | 适用场景 |
|---|
| Eclipse GlassFish 7 | 完全支持 | 官方参考实现,适合开发 / 测试环境 |
| RedHat WildFly 27+ | 完全支持 | 企业级生产环境,适配 RedHat OpenShift 云平台 |
| Apache TomEE 9+ | 部分支持 | 轻量级容器,适合微服务 / 中小应用 |
| Payara Server 6+ | 完全支持 | 云原生优化版,适配 Docker/K8s 部署 |
迁移与兼容注意事项
- 包名迁移:所有
javax.*替换为jakarta.*(如javax.servlet→jakarta.servlet) - JDK 版本:最低要求 JDK 11,推荐使用 JDK 17(LTS 版本)
- 工具适配:Maven/Gradle 依赖需更新为 Jakarta EE 10 坐标(如
jakarta.platform:jakarta.jakartaee-api:10.0.0)
与其他标准的关联
| 关联标准 | 关系 |
|---|
| ECMAScript 2024 | 无直接关联(分属 Java/JS 生态),但均归「6. 软件・宏速式」 |
| W3C WebDriver | 可通过 Selenium 调用 Jakarta EE 后端 API,实现端到端测试 |
| ISO/IEC 27001 | Jakarta EE 10 的安全模块可适配该标准,满足企业信息安全合规要求 |
总结
- Jakarta EE 10 是 Eclipse 基金会主导的企业级 Java 标准,是 Java EE 8 的继任者,核心聚焦云原生、微服务与开发体验优化
- 核心更新包括 Servlet 6.0、CDI 4.0 等 API 升级,新增 Jakarta Data 1.0 简化数据访问,全面迁移至
jakarta.*包名 - 生态分类归「6. 软件・宏速式」,是企业级 Java 应用开发的顶层规范,适配容器化、K8s 部署等现代基础设施