Payara Platform

Jakarta EE 8 Support

Payara Platform 6.35.0 is certified as a valid Jakarta EE 10 runtime, so users will have to develop enterprise applications using Jakarta EE 10 APIs under the corresponding constraints of its corresponding specifications.

In most cases this means that users that are migrating their applications from an older Jakarta EE 8 runtime (like Payara Server 5, for example) will have to convert their applications for them to correctly be deployed. This usually means undergoing the following changes:

  • Refactoring all uses of javax.* classes for their jakarta.* counterparts.

  • Updating standard deployment descriptors (web.xml, ejb-jar.xml, etc.) to use the new XML schemas introduced in Jakarta EE 10.

  • Updating standard configuration properties, for example javax.persistence.* in the persistence.xml deployment descriptor to their Jakarta EE 10 equivalent property names.

Deployment Transformer

Fortunately, Payara Enterprise distributions (Server and Micro, explicitly) include a Deployment Transformer tool that automatically executes the conversion of a Jakarta EE 8 application’s components using at deployment time, allowing users to have their Jakarta EE 8 applications transformed on the fly into the Jakarta EE 10 namespace.

The deployment transformer is enabled by default on Payara Enterprise.

Because the deployment transformer operates at the archive level, it may repackage application archives and nested JARs as part of the transformation process. This can result in metadata such as META-INF/MANIFEST.MF being regenerated, which may invalidate existing cryptographic signatures on vendor-signed JARs included in the application (for example, resource adapters or security providers).

Users can disable the deployment transformer by running the command asadmin create-system-properties fish.payara.deployment.transform.namespace=false and restart the corresponding server instances. This might be desired if users have no intention on deploying Jakarta EE 8 applications and want to spare the extra overhead of the deployment transformer scanning their applications in vain.

The deployment transformer will allow most Jakarta EE 8 applications to run on a Payara Platform 6 distribution with no changes, however, in some cases user intervention will be required to fix breaking changes introduced in Jakarta EE 10 (like pruned APIs, for example).

It is recommended that Jakarta EE 8 applications are gradually migrated to Jakarta EE 10. The deployment transformer tool is not guaranteed to be included in future major releases of the Payara Platform.

Back to Top