Jakarta EE 11 发布,增强企业 Java 开发人员生产力和性能


Eclipse 基金会宣布发布 Jakarta EE 11平台,该平台基于之前的核心配置文件 (2024 年 12 月) 和 Web 配置文件 (2025 年 3 月) 版本构建。 

此版本标志着企业级 Java 在简化开发、提升开发人员生产力和整体性能方面的进步。主要亮点包括:现代化的测试兼容性工具包 (TCK)、全新 Jakarta Data 规范的引入、对现有规范的重大更新以及对最新 Java LTS 版本的支持,使开发人员能够充分利用 Java 21 中的增强功能,包括虚拟线程。

Jakarta EE 11 的主要功能

自 Jakarta EE 10 发布以来,企业级 Java 复兴进程持续加速。Jakarta EE 11 在此基础上进一步提升性能,并在 Jakarta Data 规范的引入下,进一步提升了开发人员的工作效率 。

Jakarta Data 在简化企业应用程序持久化逻辑方面迈出了重要一步。主要功能包括:

  • BasicRepository :基础存储库接口,为基本数据操作提供开箱即用的支持,减少样板和设置时间。
  • CrudRepository :在 BasicRepository 的基础上提供完整的创建、读取、更新和删除 (CRUD) 功能,实现干净、直观的数据库交互。
  • Pagination:包括对基于偏移量和基于游标的分页支持,为开发人员提供灵活的工具来有效地管理大型数据集。
  • Query Language:引入一种简洁、专用的查询语言,可直接简化 Jakarta 数据存储库中的方法级查询定义。

TCK 的现代化

此次发布的一大亮点是对 Jakarta EE 平台测试兼容性套件 (TCK) 的现代化升级和增强。通过整合 JUnit 5 和 Maven 等现代测试工具,这项举措提升了可维护性和灵活性,使 TCK 能够更轻松地与平台一同发展。

这些更新简化了兼容性测试,降低了贡献新测试的门槛,有助于推动 Jakarta EE 生态系统未来的创新。因此,贡献者可以更轻松地上手,而有意参与的新供应商或开发者也将发现加入和贡献的便捷性显著提升。有意参与的人士可以通过 Jakarta EE TCK 项目页面了解更多信息并积极参与。 

精简规范

一项显著的变化是 移除了已弃用的托管 Bean 规范,该规范早已被更灵活、更强大的替代方案所取代。此次清理有助于降低遗留系统的复杂性,并明确了未来推荐的编程模型。

为此,该平台高度重视 上下文和依赖注入 (CDI) 作为核心编程模型。Jakarta EE 11 进一步增强了 CDI,使其成为托管 Bean 的标准替代方案。该版本还通过 支持各种规范(例如 Jakarta Bean Validation)的 Java Records 功能,进一步强化了其对现代 Java 特性的承诺

最后,Jakarta EE 11 与 Java 平台的方向保持一致, 删除了对 Java SE SecurityManager 的所有引用,遵循了 JEP 411 中概述的弃用规定。

Leveraging Java 21 Enhancements

Jakarta EE 11 支持 Java 17 或更高版本,并为 Java 21 用户提供了独特的增强功能。其中最显著的功能之一是更新的并发规范,使开发人员能够利用 Java 21 中的虚拟线程。这可以高效处理并发任务,而无需承担传统线程管理的开销,从而显著提升性能。

接下来

Jakarta EE 12 的开发工作已在进行中,计划于 2026 年发布。下一版本旨在将平台的 API 源代码级别提升至 Java SE 21,并瞄准 Java SE 25 的运行时支持。社区正在积极推进多项规范的增强,包括可能引入 Jakarta Query 和 Jakarta MVC 等功能,并持续改进 Jakarta NoSQL。Jakarta EE 秉承既定的两年发布周期,继续优先考虑长期规划和持续创新。


相關推薦

2022-09-23

Eclipse 基金会已发布 Jakarta EE 10 平台、Web Profile 和新的 Core Profile 规范。Jakarta EE 10 引入了用于构建现代化、简化和轻量级云原生 Java 应用程序的功能。据 Eclipse 基金会执行董事 Mike Milinkovich 称 这个版本是在现代微服务

2025-04-11

在全球 Java 开发者的期待中,Jakarta EE 11 Web Profile 于近日正式发布。这一版本标志着企业级 Java 开发框架进入了全新的阶段,它不仅带来了更强大的功能支持,还为开发者提供了更加高效、现代化的开发体验。 当前,Jakarta Pla

2023-04-28

式数据库 API 等。  Quarkus 3.0 现已发布,该版本基于 Jakarta EE 10,并包含了一些新功能和增强功能的实现。 新的 Dev UI Quarkus 3.0 现在有一个新的 Dev UI,它更具可扩展性和更易于使用,以及新的改进的外观和用户体验。

2025-04-13

长。我们期待听到您的宝贵反馈! 支持的规范 Jakarta EE 标准版 WildFly 36 完全兼容 EE 10 平台,包括 Web Profile 和 Core Profile。在运行于 Java SE 17 和 Java SE 21 的环境下,WildFly 36 是 EE 10 平台的兼容实现。 有关认证的详细证

2023-11-30

框架方面,72% 开发者正在使用 Spring Boot。 Java EE 8 / Jakarta EE 8 使用率为 33%,Jakarta EE 10 以 10% 的使用率超过了 Jakarta EE 9 的 7%。 Java 开发中使用最多的 IDE/编辑器是 IntelliJ IDEA,占比 78%。 JavaScript、SQL、Python 和 HTML / CSS

2025-05-15

Apache Tomcat 11.0.7 现已发布,该版本针对 Jakarta EE 11。 公告提醒称:Tomcat 10 及以后版本的用户应注意,作为 Java EE 向 Eclipse 基金会转移的一部分,Java EE 已从 Java EE 迁移到 Jakarta EE,因此所有已实施 API 的主包已从javax.* 变为&nb

2025-04-11

Apache Tomcat 11.0.6 现已发布,该版本针对 Jakarta EE 11。 公告提醒称:Tomcat 10 及以后版本的用户应注意,作为 Java EE 向 Eclipse 基金会转移的一部分,Java EE 已从 Java EE 迁移到 Jakarta EE,因此所有已实施 API 的主包已从javax.* 变为&nb

2025-06-11

Apache Tomcat 11.0.8 现已发布,该版本针对 Jakarta EE 11。 公告提醒称:Tomcat 10 及以后版本的用户应注意,作为 Java EE 向 Eclipse 基金会转移的一部分,Java EE 已从 Java EE 迁移到 Jakarta EE,因此所有已实施 API 的主包已从javax.* 变为&nb

2023-07-14

Apache Tomcat 10.1.11 现已发布,此版本实现了作为 Jakarta EE 10 平台一部分的规范。 在 Tomcat 9 和更早版本上运行的应用程序,如果不做修改,将无法在 Tomcat 10 上运行。为 Tomcat 9 和更早版本设计的基于 Java EE 的应用程序可以放在 

2023-11-04

📢SQLE 3.0 版本已经发布 🤗 全新的界面设计 ✨ 欢迎体验 SQLE 3.0 正式发布!SQL 质量提升官持续招募中 本期发布的是 SQLE 2.x 版本的最终正式版。接下来,我们将全力投入到 SQLE 3.x 版本的功能开发和产品支持中。为了获得

2023-12-15

Apache Tomcat 10.1.17 现已发布,此版本实现了作为 Jakarta EE 10 平台一部分的规范。 在 Tomcat 9 和更早版本上运行的应用程序,如果不做修改,将无法在 Tomcat 10 上运行。为 Tomcat 9 和更早版本设计的基于 Java EE 的应用程序可以放在 

2023-11-17

Apache Tomcat 10.1.16 现已发布,此版本实现了作为 Jakarta EE 10 平台一部分的规范。 在 Tomcat 9 和更早版本上运行的应用程序,如果不做修改,将无法在 Tomcat 10 上运行。为 Tomcat 9 和更早版本设计的基于 Java EE 的应用程序可以放在 

2024-03-28

Apache Tomcat 10.1.20 现已发布,此版本实现了作为 Jakarta EE 10 平台一部分的规范。 在 Tomcat 9 和更早版本上运行的应用程序,如果不做修改,将无法在 Tomcat 10 上运行。为 Tomcat 9 和更早版本设计的基于 Java EE 的应用程序可以放在 

2024-01-13

Apache Tomcat 10.1.18 现已发布,此版本实现了作为 Jakarta EE 10 平台一部分的规范。 在 Tomcat 9 和更早版本上运行的应用程序,如果不做修改,将无法在 Tomcat 10 上运行。为 Tomcat 9 和更早版本设计的基于 Java EE 的应用程序可以放在