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


JBoss EAP 8.0 支持 Jakarta EE 10。与 JBoss EAP 7 支持的 Jakarta EE 8 规格相比,Jakarta EE 10 对 Jakarta EE 带来了很大的变化。在本章中,在准备将其应用从 JBoss EAP 7 迁移到 JBoss EAP 8.0 时,必须了解 Jakarta EE API 中的兼容性差异。

注意

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

4.1. javax 到 jakarta Package Namespace 的变化

在 Jakarta EE 8 和 EE 10 之间最大的兼容性差异是把 EE API Java 软件包从 javax 重命名为 jakarta prerequisites

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

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

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

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

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部