This rule contains general information for migrating to Jakarta EE 10, as well as information on issues that the WebSphere Migration Toolkit for Application Binaries (binary scanner) does not detect.
Expression Language: Values cast to Object
Expression Language values used in JSP files must now be cast to Object.
For example, the expression ve.getValue(pageContext.getELContext()) must become
(Object) ve.getValue(pageContext.getELContext()). This is due to the use of generic types
within Expression Language.
Servlet: DisableXPoweredBy property removed
The DisableXPoweredBy web container property is not supported starting in Jakarta Servlet 6.0.
This custom property could be configured in both WebSphere traditional and Liberty for Servlet 5.0 and earlier.
Starting in Servlet 5.0 the behavior was changed to disable X-Powered-By by default. The Servlet
6.0 specification removed the recommendation that containers provide an X-Powered-By header.
Faces: Namespace URIs updated to URNs
URIs for Faces namespaces have been updated to URNs for Jakarta Faces 4.0. The current URIs will continue to work in Faces 4.0, so no changes are required in applications. See this article for more information.
Faces: JSF renamed to Faces in log keys and strings
Log message keys for messages emitted by Jakarta Faces have been renamed from jsf.* to faces.*.
Additionally, messages have replaced all references to JSF with references to Faces. This should not affect application code,
but ensure processing of Faces log messages handles the change.
Faces: Element namespace prefix should be updated to xmlns:faces
Faces which define a xmlns:jsf namespace prefix should update it to xmlns:faces
to be consistent with Faces 4.0 documentation and examples. There is no requirement to make this change and
no issue will occur if the namespace prefix remains xmlns:jsf in Faces 4.0.
RESTFul Web Services and XML Web Services: Global Handlers are no longer automatically enabled
In previous Liberty feature versions of RESTful Web Services (JAXRS) and XML Web Services (JAXWS), the
Web Services Global Handler SPI package com.ibm.wsspi.webservices.handler was automatically
enabled. Starting in Jakarta EE 10, Global Handlers are disabled by default. As with previous versions, you
will need to create a user feature to configure a Global Handler. However, as of this release, you must also
add the io.openliberty.globalhandler-1.0 protected Liberty feature to your user feature's
manifest file in order to enable the SPI package.
For information on Liberty's Jakarta EE 10 support, see Jakarta EE 10, MicroProfile 6, and Java SE 20 support in Open Liberty 23.0.0.3.
See Differences between Jakarta EE 10 and 9.1 for more migration information.