Jakarta EE 11 发布:带来 1 个新规范、16 个更新规范与现代化 TCK
虽然 Jakarta EE 11 的完整 GA 版本最初计划在 2024 年 7 月发布,但只有 Core Profile 和 Web Profile 分别于 2024 年 12 月和 2025 年 4 月先行交付。如今,距离 Jakarta EE 10 发布的 34 个月后,Eclipse 基金会 正式宣布发布 了包含 Platform 的 Jakarta EE 11。虽然这次发布可能又被认为是“又一次重大延迟”,但背后有实际原因。
截至 2024 年 5 月,面向 Jakarta EE 11 的 16 个更新规范均已通过各自的评审与 TCK 测试,Jakarta EE 工作组 决定专注于久拖未决的 技术兼容性套件 TCK 现代化与重构。主要工作内容包括构建工具与测试套件的迁移:如 Ant 迁移到 Maven,TestHarness 迁移到 Arquillian。同时,借助开源自动重构工具 OpenRewrite 实现自动化迁移。这项投入带来的好处是提升了兼容性测试能力,并为 Jakarta EE 生态的扩展和测试新增降低了门槛。
Jakarta EE 11 平台 定义了托管所有 Jakarta EE 应用的标准平台,适用于需要 Jakarta EE 全部规范开发企业应用的开发者。平台所包含的规范如下图所示:
Jakarta EE 11 Web Profile 定义了 Jakarta EE 平台的子集,专注于开发 Web 应用的相关技术。其包含的规范如下图所示:
Web Profile 于 2025 年 4 月发布,Eclipse GlassFish 8.0.0-M11 成为其首个兼容实现。
Jakarta EE 11 Core Profile(自 Jakarta EE 10 引入)定义了面向小型运行时的 Jakarta EE 平台子集,适用于微服务和 AOT(提前编译)场景。它为云原生运行时(包括支持构建时应用的运行时)提供最小基础。包含的规范如下图:
Core Profile 仅含 7 个规范,由于体量小,成为 2024 年 12 月首个发布的 profile。WildFly Preview 34.0.0 和 Open Liberty 24.0.0.11-beta 于 2024 年 10 月下旬提交了兼容性认证请求。
如上图所示,Jakarta EE 11 生态共有 16 个规范获得更新。需要注意,有两个规范进行了更名:Jakarta Validation(原名 Jakarta Bean Validation)与 Jakarta Pages(原名 Jakarta Server Pages)。Jakarta Server Faces 早在 Jakarta EE 10 时已更名为 Jakarta Faces。
Jakarta Data 1.0 作为 Jakarta EE 11 Platform 和 Web Profile 的新规范,为数据库技术提供简便访问 API。它可以将持久化逻辑与模型分离,并支持在 Repository
接口上组合自定义查询方法,由框架自动实现。目前的 Jakarta Data 实现包括 Hibernate ORM 6.6.0、Eclipse JNoSQL 1.1.4 和 Open Liberty 24.0.0.6。
Jakarta EE 11 其他值得关注的变更包括:
- Jakarta Expression Language、Jakarta Persistence 和 Jakarta Validation 规范增加对 Java Record 的支持。
- Jakarta Concurrency 规范在 JDK 21 下支持虚拟线程(Virtual Threads)。
- CDI Lite:新增文档以补充 Jakarta Contexts and Dependency Injection 规范,将集成相关内容独立出来,解决规范间循环依赖问题。
- Jakarta SOAP with Attachments、Jakarta XML Web Services 和 Jakarta XML Binding 规范移除了自 Jakarta EE 10 起的可选特性。
- 移除对已在 JDK 17 弃用 并在 JDK 24 彻底移除 的 Java
SecurityManager
的引用。 - 移除遗留的
@ManagedBean
注解。
微软 Java 首席架构师、Jakarta EE 11 发布协调人 Ed Burns 在接受 InfoQ 采访时表示:
企业软件开发正处于关键转折点。生成式 AI 推动了产品开发速度的预期,这直接挑战了 Jakarta EE 一贯的、基于标准且缓慢的开发节奏。
虽然 Jakarta EE 11 的发布比我期望的要晚得多,但它体现了我们正迈向更快发展的两个重要方面:
- 证明全新技术可以被纳入标准并带来价值。
- 完成了 Jakarta EE 历史上最大规模的技术债务偿还。
就第一点来说,Jakarta Data 充分体现了标准的价值:吸取已有经验并服务更广泛的用户群,而不是局限于某单一厂商。
就第二点而言,Jakarta EE TCK 已迁移至当前主流测试技术,摆脱了对一个自 JUnit 普及前就无人维护的测试工具的依赖。
Jakarta EE 11 还有许多其他增量改进,对于一个强调稳定与 IT 投资保护的技术而言,这再合适不过。
2023 年 3 月,Payara CEO Steve Millidge 曾撰文指出 Jakarta EE 11 可能是“Jakarta 的第一次重大飞跃”:
从最初的迁移(Jakarta EE 8),到新的命名空间(Jakarta EE 9),再到简化工作(Jakarta EE 10),Jakarta EE 已为开源开发者打下坚实基础。
如今,机会来了。Jakarta EE 可借助 Java 21 等新特性,持续构建新规范,进一步统一并简化平台,真正迈出 Java EE 时代。
对于 Jakarta EE 11 来说,在拥有新规范和全新 TCK 的同时,Millidge 两年前的展望似已逐步实现。
更多关于 Jakarta EE 11 新特性的介绍,可阅读 Eclipse 基金会 Jakarta EE 项目经理 Tanja Obradovic 的官方博客。
号外: 对 JakartaEE 感兴趣的同学,不要错过本年度 JakartaONE 2025在线会议,请移步注册:https://www.eventbrite.com/e/jakartaone-livestream-2025-tickets-1394939173619

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
PHP 8.5.0 Alpha 1 现已发布
PHP 8.5.0 Alpha 1 现已发布,正式开启了 PHP 8.5 发布周期。GA 版本预计将于11 月下旬正式发布,预发布阶段共历时5 个月。 一些更新内容包括: BCMath 简化 bc_divide() 代码。 如果结果为 0,n_scale 设置为 0。 如果 BC_VECTOR 数组的大小在 64 字节以内,则使用 stack area。 CLI 添加 --ini=diff 以打印与内置默认设置不同的 INI 设置。 放弃对 -z CLI/CGI 标志的支持。 修复了 GH-17956 - development server 404 页面无法适应手机。 CURL 为 CURLOPT_FOLLOLOCATION curl_easy_setopt 选项添加了 CURLFOLLOW_ALL、CURLFOLLOW_OBEYCODE 和 CURLFOLLOW_FIRSTONLY 值。 COM 修复了用变量封装的 PHP 对象的属性访问。 修复了用变量封装的 PHP 对象的方法调用。 …… 有关新功能和其他变更的更多信息可以阅读NEWS文件,或阅读 UPGRADING文件以获取完...
- 下一篇
JS 网页全自动翻译 v3.17 发布,全面接入 GiteeAI 大模型翻译及自动部署
两行 js 实现 html 全自动翻译。 无需改动页面、无语言配置文件、无 API Key、对 SEO 友好! 升级说明 translate.service 深度绑定 GiteeAI 作为公有云翻译大模型算力支持 translate.service 增加shell一键部署后通过访问自助完成GiteeAI的开通及整个接入流程。 增加 translate.ignore.setTextRegexs 可以正则的方式设置不进行翻译的文本 (有使用者wangliangyu提供) 增加 translate.lifecycle.execute.renderFinish 生命周期相关监控 增加 translate.visual.adjustTranslationSpacesByNodequeueUuid 用于进行视觉上的坐标处理,对类似于中译英场景,元素紧挨时两个单词会紧贴的问题。 增加 translate.visual 用于人眼看到的视觉层的处理 增加 translate.util.getElementPosition 用于计算实际显示的元素坐标及尺寸 优化 translate.reset() 只对最...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2全家桶,快速入门学习开发网站教程
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS8编译安装MySQL8.0.19
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7,CentOS8安装Elasticsearch6.8.6
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2整合Thymeleaf,官方推荐html解决方案