【问题标题】:Does WildFly 25 use jakarta.* api or are the javax.* apis still compatibleWildFly 25 使用 jakarta.* api 还是 javax.* api 仍然兼容
【发布时间】:2023-01-27 18:22:03
【问题描述】:

我已经将我的项目从 java 11 更新到 17,因此我不得不将我的 wildfly 版本从 15 更新到 25,因为 java17 的战争与 wildfly 15 不兼容。我的问题是我是否必须将我的 javax 迁移到雅加达,因为在 wildfly 17 发布后,wildfly 现在支持 Jakarta EE 8。那么从 javax 迁移到雅加达真的是强制性的吗,或者有一个解决方法。

【问题讨论】:

  • 根据文档,它应该是 jakarta-ee 版本:wildfly.org/news/2021/10/05/WildFly25-Final-ReleasedThe standard WildFly 25.0.0 distribution is a Jakarta EE 8 compatible implementation, compatible with both the Full Platform and the Web Profile. Evidence supporting our certification is available for the Full Platform and for the Web Profile.
  • @meaningqo 真的很抱歉,但我没有正确理解。就像我必须为 wildfly 25 迁移到雅加达,或者我仍然可以在 .xml 文件中使用 javax 包和相同的包。

标签: jakarta-ee wildfly jakarta-migration


【解决方案1】:

Jakarta EE 8 仍然使用 javax.* 包。它与 Java EE 8 本质上完全相同,只是品牌名称发生了变化。 Jakarta EE 9 率先使用了jakarta.* 包。 Jakarta EE 10 延续了这一趋势。

请注意 WildFly comes 作为“WildFly”和“WildFly Preview”。

WildFly 版本 21 - 26 是 Jakarta EE 8。
WildFly 预览版 22 - 26 是 Jakarta EE 9。
野蝇WildFly 预览版 27 是 Jakarta EE 10。

在您的具体情况下,您显然有一个 Java EE 8 应用程序。因此,只要您选择了“WildFly 25”而不是“WildFly Preview 25”,就可以了。一种快速验证的方法是盲目地将您的javax.* 目标 WAR 部署到服务器,并检查它在运行时是否不会在 javax.* 类上抛出任何 NoClassDefFoundError 错误。

顺便说一句,支持 Jakarta EE 8 的最新 WildFly 版本是 26,这是目前仍在积极维护的版本(在撰写本文时,26.1.3 仅在 9 天前发布,25.x 不再维护) ,所以我强烈建议从 WildFly 25 进一步升级到 WildFly 26。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-04
    • 1970-01-01
    • 1970-01-01
    • 2014-11-14
    • 1970-01-01
    • 2019-02-13
    相关资源
    最近更新 更多