此规则包含有关迁移到 Jakarta EE 10 的 常规信息,以及有关 WebSphere Migration Toolkit for Application Binaries(二进制扫描程序)未检测到的问题的信息。
表达式语言:将值强制转换为对象
现在必须将 JSP 文件中使用的表达式语言值强制转换为对象。
例如,表达式 ve.getValue(pageContext.getELContext()) 必须变为
(Object) ve.getValue(pageContext.getELContext())。这是由于在表达式语言中
使用了通用类型。
Servlet:已移除 DisableXPoweredBy 属性
从 Jakarta Servlet 6.0 开始,不支持 DisableXPoweredBy Web 容器属性。
可以在 WebSphere Traditional 和 Liberty for Servlet 5.0 及更低版本中配置此定制属性。
从 Servlet 5.0 开始,缺省情况下,行为已更改为禁用 X-Powered-By。 Servlet
6.0 规范移除了容器提供 X-Powered-By 头的建议。
Faces:将名称空间 URI 更新为 URN
Faces 名称空间的 URI 已更新为 Jakarta Faces 4.0 的 URN。 当前 URI 将继续在 Faces 4.0 中工作,因此不需要在应用程序中进行任何更改。 请参阅此文章 以获取更多信息。
Faces:JSF 在日志键和字符串中已重命名为 Faces
Jakarta Faces 所发出消息的日志消息键已从 jsf.* 重命名 为 faces.*。
此外,消息已将对 JSF 的所有引用替换为对 Faces 的引用。 这不应影响应用程序代码,
但应确保 Faces 日志消息处理更改。
Faces:应将元素名称空间前缀更新为 xmlns:faces
定义 xmlns:jsf 名称空间前缀的 Faces 应将其更新为 xmlns: faces
以与 Faces 4.0 文档和示例保持一致。 无需进行此更改,
如果名称空间前缀在 Faces 4.0 中仍为 xmlns:jsf,那么就不会发生任何问题。
RESTFul Web Service 和 XML Web Service:不再自动启用全局处理程序
在 RESTful Web Service (JAXRS) 和 XML Web Service (JAXWS) 的先前 Liberty 功能部件版本中,
已自动启用 Web Service 全局处理程序 SPI 包 com.ibm.wsspi.webservices.handler。
从 Jakarta EE 10 开始,缺省情况下将禁用全局处理程序。 与先前版本一样,
您将需要创建用户功能部件以配置全局处理程序。 但是,从本发行版开始,
您还必须将 io.openliberty.globalhandler-1.0 受保护的 Liberty 功能部件添加到用户功能部件的
清单文件,以便启用 SPI 包。
有关 Liberty 的 Jakarta EE 10 支持的信息,请参阅 Open Liberty 23.0.0.3 中的 Jakarta EE 10、MicroProfile 6 和 Java SE 20 支持。
请参阅 Jakarta EE 10 与 9.1 之间的差异,以获取更多迁移信息。