WildFly Jakarta EE 和遗留项目

WildFly Jakarta EE and legacy projects

我们有 Java EE 8 EAR 由不同的 modules/projects 组成。它目前 运行 在 WildFly 19.0.0 Final 上运行,但我们正在考虑将其移动到最新的 WildFly (Jakarta EE) 上。如果我从 21.0.0 版本理解正确的话,WildFly 是 100% Jakarta EE Full & Web 发行版,如果我们想迁移到 jakarta ee,我们所要做的就是更改依赖项 javaee-api jakarta.jakartaee-api 并更新我们从 javax.* 到 jakarta.* 的所有导入 对吗?

  1. 我们可以 运行 我们的应用程序在 WildFly >= 21.0.0 上保持原样,还是我们必须使用 jakarta 依赖项重新编译它?

  2. 因为一些子项目是遗留的(即它们有 javax.* 导入)是否可以构建一个单一的 EAR,其中一些子项目有 javax.* 导入而其他子项目有 jakarta .* 进口?

一般来说,如果我们的 EAR 的某些子项目是遗留的(即它们具有 javax.* 导入)而其他可以迁移到雅加达依赖项和导入,那么处理这种情况的最佳方法是什么?

谢谢

WildFly 21 与 JakartEE 8 兼容,除了 Intellectual 属性 之外,它与 JavaEE 8 基本相同,因此您无需更改任何内容。 WildFly 22 也是如此。据我所知,这个想法是提供 2 种不同的发行版,就像 JavaEE 8 所做的那样。

WildFly 提供了带有 WildFly 22 Alpha 的 JakartaEE 9 预览版,但这是一个不同的发行版。如果您使用托管部署,最后一部分可以 'transform' 您的字节码,否则您将不得不使用新包重建项目。