第 5 章 Red Hat JBoss Enterprise Application Platform 应用程序从 Jakarta EE 8 迁移到 10


JBoss EAP 8.1 支持 Jakarta EE 10。Jakarta EE 10 与 JBoss EAP 7 支持的 Jakarta EE 8 规范相比,对 Jakarta EE 进行了大量更改。在本章中,应用程序开发人员准备将其应用从 JBoss EAP 7 迁移到 JBoss EAP 8.1 时,必须了解与 Jakarta EE API 中的兼容性差异。

注意

本章的重点是 Jakarta EE 8 和 Jakarta EE 10 之间的差异,应用程序开发人员将其应用迁移到 JBoss EAP 8.1 可能需要处理,而不是如何进行迁移。有关 JBoss EAP 7 到 JBoss EAP 8.1 应用程序迁移以及红帽提供的工具的更多信息,请参阅 简化您的 JBoss EAP 8.1 迁移,并了解 应用程序迁移更改

5.1. javax 到 jakarta Package Namespace 更改

从 Jakarta EE 8 和 EE 10 之间存在最大兼容性影响差异是,将 EE API Java 软件包从 javax configured 重命名为 jakarta …​

自 Java EE 移到 Eclipse Foundation 并建立 Jakarta EE 后,Eclipse 和 Oracle 同意,Jakarta EE 社区无法发展 javax. 软件包命名空间。因此,为了继续演进 EE API,从 Jakarta EE 9 开始,所有 EE API 所使用的软件包已从 javax 2019 改为 jakarta Servernbsp。这个更改不会影响作为 Java SE 一部分的 javax 软件包。

适应此命名空间的改变是将应用程序从 JBoss EAP 7 迁移到 JBoss EAP 8 的最大变化。迁移到 Jakarta EE 10 的应用需要:

  • 将任何导入语句或其他源代码使用来自 javax 软件包中的 EE API 类更新到 jakarta
  • 更新任何以 javax 开头的 EE 指定系统属性或其他配置属性的名称,而不是以 jakarta 开头。
  • 将标识实施类的资源名称从 META-INF/services/javax.[rest_of_name] 更改为 META-INF/services/jakarta.[rest_of_name],用于任何通过 java.util.ServiceLoader 机制启动的 EE 接口或抽象类的实现。
注意

Red Hat Migration Toolkit 可以帮助更新应用程序源代码中的命名空间。如需更多信息,请参阅 如何使用 Red Hat Migration Toolkit for Auto-Migration of Application to the Jakarta EE 10 命名空间。对于源代码迁移不是一个选项,开源 Eclipse Transformer 项目会提供 bytecode 转换工具,来将现有 Java 存档从 javax 命名空间转换为 jakarta。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部