Jakarta EE 9 常规信息 和潜在问题

此规则包含有关迁移到 Jakarta EE 9 的常规信息,以及有关 WebSphere Migration Toolkit for Application Binaries(二进制扫描程序)未检测到的问题的信息。

Jakarta:包名称空间已更改

由于 Jakarta EE 9 中的包名称空间的变化, 请确保应用程序使用的所有依赖关系和库 都已更新为支持 Jakarta EE 9 的版本。

Liberty 功能部件:功能部件名称已更改

在 Liberty 中,已在 Jakarta EE 8 和 Jakarta EE 9 之间重命名多个功能部件。 例如, jaxrs 功能部件现在 名为restfulws 。 有关已重命名的功能部件的完整列表,请参阅 Jakarta EE 9.1 功能部件更新。 二进制扫描程序生成的功能部件列表 将包含更新后的功能部件名称。

Liberty 功能部件:不再由平台功能部件启用技术

jakartaee-9.1平台功能部件 不支持先前由 jakartaee-8.0javaee-7.0 等平台 功能部件支持的多项技术。 该平台功能部件 不再支持jaxws (现名为 xmlws)和 jaxb (现名为 xmlbinding)。 如果使用该平台功能部件, 并且应用程序使用这些技术, 请将这些功能部件添加到 server.xml。 或者,您可以使用二进制扫描程序 生成的功能部件列表。

Servlet:enablePostOnlyJSecurityCheck 属性缺省值已更改

在 Jakarta EE 9 中, com.ibm.ws.webcontainer.enablePostOnlyJSecurityCheck Servlet 属性的缺省行为已从 false 更改为 true。 如果应用程序在 html 或 jsp 文件中 使用 j_security_check, 请测试这项变化是否会影响 应用程序。

Servlet:响应输出流现在已自动关闭

在 Jakarta EE 9 之前,当应用程序 包装响应对象并将其用于分派转发时, 在退出转发之前不会关闭响应的输出流。 Servlet 规范要求 关闭响应的输出流。 当应用程序在转发后继续写入时, 会将额外数据写入响应中。 在 Jakarta EE 9 中,此行为已更改, 因此现在输出流已关闭。 已添加 webcontainer 属性 closeWrappedResponseOutputAfterForward ,用于切换此行为。 如果应用程序需要先前的行为, 则将此属性设置为 false。 。

企业 Bean:已从规范中移除分布式互操作性

在 Jakarta EE 9 中,已从 Enterprise Bean 规范中移除 分布式互操作性。 Liberty 继续支持基于 IIOP 的 RMI,但请注意, 由于包重命名,远程服务器还必须使用 Jakarta EE 9。 当 Liberty 继续支持 Jakarta EE 9 中的分布式互操作性时,其他 服务器提供程序可能会移除支持。