2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

Jakarta EE 11 带来一项新规范、16 项更新规范,并对 TCK 做了现代化改进

  • 2025-07-03
    北京
  • 本文字数:2188 字

    阅读完需:约 7 分钟

大小:1.06M时长:06:11
Jakarta EE 11带来一项新规范、16项更新规范,并对TCK做了现代化改进

原本计划在 2024 年 7 月正式发布的Jakarta EE 11,最终只在 2024 年 12 月和 2025 年 4 月分别交付了Core ProfileWeb Profile。现在,在Jakarta EE 10发布 34 个月后,Eclipse 基金会正式发布了包括 Jakarta EE 11平台在内的 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 技术。Web Profile 中包含的规范如下图所示。



Web Profile 于 2025 年 4 月发布,Eclipse GlassFish 8.0.0-M11是正式批准的兼容实现。

 

Jakarta EE 11 Core Profile 在 Jakarta EE 10 中引入,定义了 Jakarta EE 平台规范的一个子集,针对适合微服务和提前编译的空间占用比较小的运行时。它致力于为云原生运行时提供一个最小的基础,包括支持构建时应用程序的运行时。Core Profile 中包含的规范如下图所示。



Core Profile 仅包含七个规范,规模相对较小,因此在 2024 年 12 月第一个发布。WildFly预览版34.0.0 和Open Liberty 2024.0.0.11-beta 在 2024 年 10 月下旬提交了兼容性认证请求,以认证成为 Core Profile 的兼容实现。

 

如上图所示,Jakarta EE 生态系统中有 16 个规范已更新为 Jakarta EE 11。请注意,有两个规范的名称发生了变化,即:Jakarta Validation(以前称为 Jakarta Bean Validation)和 Jakarta Pages(以前称为 Jakarta Server Pages)。在 Jakarta EE 10 发布时,Jakarta Server Faces 已更名为 Jakarta Faces

 

Jakarta Data 1.0是 Jakarta EE 11 平台和 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 EE 工作组的努力时,微软 Java 首席架构师兼 Jakarta EE 11 发布协调员Ed Burns告诉 InfoQ:

 

企业软件开发领域正处于一个关键时刻。生成式 AI 的出现使人们有了产品开发速度大幅提升的期望。对于我们在 Jakarta EE 中习惯的基于标准的缓慢开发节奏,这提出了新的挑战。

 

尽管 Jakarta EE 11 的发布比我预期的要晚得多,但它确实表明,我们正在以两种重要的方式加快自己前进的步伐。

 

1、证明全新的技术可以添加到标准中并带来价值。

2、完成 Jakarta EE 历史上最大的技术债务偿还。

 

对于第 1 点,Jakarta Data 是标准的最佳体现:从其他地方吸取经过验证的经验教训,并将其带给尽可能广泛的受众,而不是将价值局限在任何一个单一的供应商那里。

 

对于第 2 点,Jakarta EE TCK 已经基于当前的测试技术重新构建,消除了对一项在 JUnit 广泛使用之前就未被维护过的测试技术的严重依赖。

 

Jakarta EE 11 带来了许多其他价值,但这些更多的是渐进式的,坦率地说,对于一项代表稳定性和 IT 投资保护的技术来说,这是非常合适的。

 

2023 年 3 月,Payara 首席执行官Steve Millidge描述了 Jakarta EE 11 如何成为“Jakarta 的第一次大飞跃”,他写道

 

从最初的 lift and shift [Jakarta EE 8]到 Jakarta EE 9 中命名空间的变更,再到 Jakarta EE 10 中完成的简化工作,人们已经投入了大量的努力,使 Jakarta EE 成为了开源开发者进行应用程序开发的坚实基础。

 

有了这个基础,从现在开始,Jakarta EE 有机会超越 Java EE 时代了。随着 Java 21 的临近,现在有机会确保 Jakarta EE 始终能够利用最新 Java 版本中最新、最强大的功能,构建新规范,并进一步统一和简化平台。

 

Jakarta EE 11 带来了一个新规范和一个全新的 TCK,Millidge 两年前的想法似乎已经开花结果。

 

要了解关于 Jakarta EE 11 新特性的更多细节,可以查看Eclipse基金会的博文。该文由 Eclipse 基金会 Jakarta EE 项目经理Tanja Obradovic撰写。

 

编辑注

 

Michael Redlich 是 Jakarta Data 规范的提交者。Jakarta EE 11 相关图片由 Eclipse 基金会提供。


声明:本文为 InfoQ 翻译,未经许可禁止转载。

 

原文链接:https://www.infoq.com/news/2025/07/jakarta-ee-11-updates/

2025-07-03 16:006810

评论

发布
暂无评论

logrotate怎么使用

linux大本营

Linux 日志管理

点对点传输效率对比测试——镭速传输

镭速

斩获四奖|海泰方圆荣登网信自主创新尖锋榜

电子信息发烧客

Logrotate正则匹配文件名

linux大本营

正则表达式 Linux

nvmf协议

linux大本营

网络协议 nvme RDMA技术

一个能在Linux下使用C++编写的访问RabbitMQ接收发送数据的可编译代码

linux大本营

RabbitMQ 消息队列 C++

敏捷宣言和原则

老王同学

读书笔记

PerformingTestCOMPILER_KNOWS_STDLIB-Failed

linux大本营

cmake C++

详细讲解spdk里的examples/nvmf/nvmf/nvmf.c文件

linux大本营

nvme 文件存储

再写一个版本,要求使用类进行封装,提供完善的接口,并对函数进行完善注释

linux大本营

RabbitMQ AMQP C++

CouldNOTfindGMP(missing:GMP_LIBRARYGMP_INCLUDE_DIR)CallStack(mostrecentcallfirst)

linux大本营

Linux GNU cmake

如何执行mysql文件

linux大本营

MySQL 数据库

ShareSDK QQ平台注册

MobTech袤博科技

使用Plist编辑器——简单入门指南

九层天塔DApp合约系统开发搭建

薇電13242772558

NFT

qemu怎么用

linux大本营

qemu

终于有人把动态规划、冒泡排序、二叉树、链表、栈全部讲清楚了

收到请回复

程序员 java

构建数据中台——数据只有被使用起来,才能创造价值

引迈信息

数据库 数据中台 低代码 JNPF 数字化、操作系统、中台

发送GET请求时,浏览器请求的参数是指什么

linux大本营

HTTP url GET

linux如何设置一个环境变量,在shell退出之后也不会失效

linux大本营

Linux Shell export

linux如何计算一个shell程序运行的时间

linux大本营

Shell Linux系统

seq命令

linux大本营

Shell 脚本

已知非空线性链表由list指出,链结点的构造为(data,next)。写-算法,将链表中数据域值最小的那个链结点移到链表的最前面。要求:不得额外申请新的链结点

linux大本营

链表 C语言 数据结构与算法

c语言如何用宏来实现字符串到函数的映射?

linux大本营

C语言 映射函数

汽车制造数字化转型如何做?有哪些可行性案例?

优秀

数字化转型 汽车制造

C语言system函数判断返回错误

linux大本营

C语言

写一个epoll的服务端程序

linux大本营

事件驱动 epoll C++ I/O 多路复用

constchar*类型的实参与char*类型的形参不兼容

linux大本营

指针 const C++

对标阿里P8级Java面试题及答案整理(2023速成版,7天就能吃透)

收到请回复

Jakarta EE 11带来一项新规范、16项更新规范,并对TCK做了现代化改进_软件工程_Michael Redlich_InfoQ精选文章