Jakarta EE 9.1 feature updates

The names and version numbers of some of the Open Liberty features that support the Jakarta EE platform are updated for the Jakarta EE 9.1 release. In some cases, you must change both the feature version and short name in your server configuration to update your server for Jakarta EE 9.1.

As part of the transition from Java EE to the open source Jakarta EE platform, the namespace of the underlying API packages changed from javax to jakarta. The Open Liberty features that support the Jakarta EE platform are also updated to reflect this change with the release of Open Liberty 21.0.0.12. For some Jakarta EE features, only the version number is changed. For others, both the feature version and short name are changed. If you are updating your server to Jakarta EE 9.1, you must specify the updated feature versions and short names in your server.xml file.

For example, the Contexts and Dependency Injection feature is updated from cdi-2.0 to cdi-3.0. To update this feature for Jakarta EE 9.1, you need to update only the version number. However, in some cases, the feature short name is also changed, as with the Enterprise JavaBeans 3.2 feature (ejb-3.2), which was updated to Enterprise Beans 4.0 (enterpriseBeans-4.0). To update this feature, you must specify both the new version number and the new short name.

In the following server.xml file example, three Java EE features are specified.

<server>
  <featureManager>
    <feature>servlet-4.0</feature>
    <feature>jpa-2.2</feature>
    <feature>jaxrs-2.1</feature>
  </featureManager>
</server>

To update this configuration to support Jakarta EE 9.1, you must specify the updated feature versions and short names. For the servlet-4.0 feature, only the version number is changed. However, both the other features have updated version numbers and short names. The jpa-2.2 feature becomes persistence-3.0 and the jaxrs-2.1 becomes restfulWS-3.0. The following example shows the updated configuration for Jakarta EE 9.1.

<server>
  <featureManager>
    <feature>servlet-5.0</feature>
    <feature>persistence-3.0</feature>
    <feature>restfulWS-3.0</feature>
  </featureManager>
</server>

For features with updated short names, if the old short name is specified with a Jakarta EE 9.1 version number, the server does not start. In such cases, the server logs provide information to indicate which new feature short name must be specified. For example, if ejb-3.2 is incorrectly changed to ejb-4.0, the server logs indicate that enterpriseBeans-4.0 must be used.

Open Liberty provides several convenience features, which can enable a whole set of features all at once. For example, the Jakarta EE platform feature enables all features that support the Jakarta EE platform. If you update this feature from the previous short name and version number, javaee-8.0, to jakartaee-9.1, all of the Jakarta EE 9.1 features are automatically enabled. For more information, see Feature overview.

Changes to feature short names and version numbers for Jakarta EE 9.1

These tables list the Open Liberty features that are updated for Jakarta EE 9.1. Table 1 lists the features for which only the version number is changed. Table 2 lists the features for which both the version number and short name are changed.

The following table lists features for which only the feature version is changed. To update one of these features for Jakarta EE 9.1, you must change only the feature version number in your server.xml file.

Table 1: Jakarta EE 9.1 feature updates, version only
Feature nameJava EE/Jakarta EE 8 feature nameJakarta EE 9.1 feature name

Application Client Support for Server

appClientSupport-1.0

appClientSupport-2.0

Application Security

appSecurity-3.0

appSecurity-4.0

Batch API

batch-1.0

batch-2.0

Bean Validation

beanValidation-2.0

beanValidation-3.0

Contexts and Dependency Injection

cdi-2.0

cdi-3.0

Concurrency Utilities

concurrent-1.0

concurrent-2.0

Jakarta EE

jakartaee-8.0

jakartaee-9.1

JavaScript Object Notation Binding

jsonb-1.0

jsonb-2.0

JavaScript Object Notation Binding Container

jsonbContainer-1.0

jsonbContainer-2.0

JavaScript Object Notation Processing

jsonp-1.1

jsonp-2.0

JavaScript Object Notation Processing Container

jsonpContainer-1.1

jsonpContainer-2.0

Java EE Managed Bean

managedBeans-1.0

managedBeans-2.0

Message-Driven Beans

mdb-3.2

mdb-4.0

Java Servlet

servlet-4.0

servlet-5.0

Java EE Web Profile

webProfile-8.0

webProfile-9.1

Java WebSocket

websocket-1.1

websocket-2.0

The following table lists the features for which both the short name and the version number are changed. To update one of these features for Jakarta EE 9.1, you must change both the feature short name and version number in your server.xml file.

Table 2: Jakarta EE 9.1 feature updates, short name and version
Jakarta EE 9.1 feature nameJava EE/Jakarta EE 8 short name and versionJakarta EE 9.1 short name and version

Jakarta Enterprise Beans

ejb-3.2

enterpriseBeans-4.0

Jakarta Enterprise Beans Home Interfaces

ejbHome-3.2

enterpriseBeansHome-4.0

Jakarta Enterprise Beans Lite

ejbLite-3.2

enterpriseBeansLite-4.0

Jakarta Enterprise Beans Persistent Timers

ejbPersistentTimer-3.2

enterpriseBeansPersistentTimer-4.0

Jakarta Enterprise Beans Remote

ejbRemote-3.2

enterpriseBeansRemote-4.0

Jakarta Expression Language

el-3.0

expressionLanguage-4.0

Jakarta Authorization

jacc-1.5

appAuthorization-2.0

Jakarta Authentication

jaspic-1.1

appAuthentication-2.0

Jakarta EE Platform

javaee-8.0

jakartaee-9.1

Jakarta EE Application Client

javaeeClient-8.0

jakartaeeClient-9.1

Jakarta Mail

javaMail-1.6

mail-2.0

Jakarta XML Binding

jaxb-2.2

xmlBinding-3.0

Jakarta RESTful Web Services

jaxrs-2.1

restfulWS-3.0

Jakarta RESTful Web Services Client

jaxrsClient-2.1

restfulWSClient-3.0

Jakarta XML Web Services

jaxws-2.2

xmlWS-3.0

Jakarta Connectors

jca-1.7

connectors-2.0

Jakarta Connectors Inbound Security

jcaInboundSecurity-1.0

connectorsInboundSecurity-2.0

Jakarta Messaging

jms-2.0

messaging-3.0

Jakarta Persistence

jpa-2.2

persistence-3.0

Jakarta Persistence Container

jpaContainer-2.2

persistenceContainer-3.0

Jakarta Server Faces

jsf-2.3

faces-3.0

Jakarta Server Faces Container

jsfContainer-2.3

facesContainer-3.0

Jakarta Server Pages

jsp-2.3

pages-3.0

Messaging Server Client

wasJmsClient-2.0

messagingClient-3.0

Messaging Server Security

wasJmsSecurity-1.0

messagingSecurity-3.0

Messaging Server

wasJmsServer-1.0

messagingServer-3.0

The Eclipse Transformer can help with moving your applications from Java EE and its javax namespace to Jakarta EE and its jakarta namespace. This tool is an open source project that was originally developed by members of the Open Liberty team and then contributed to the Eclipse Foundation.