此规则包含有关迁移到 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.0
或 javaee-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 中的分布式互操作性时,其他 服务器提供程序可能会移除支持。