
Leading the Way: Payara Platform Community 7 Beta Now Fully Jakarta EE 11 Certified
We’re excited to announce that Payara Platform Community 7 Beta application server is now fully certified as Jakarta EE 11 […]
The Eclipse Transformer tooling helps you transform existing Jakarta EE 8 binary to Jakarta EE 9. This is another step toward the full release of Jakarta EE 9. Payara Server Community Edition now includes a TECH PREVIEW of Jakarta EE 9 support to allow users to try out the new Jakarta EE 9 namespace and start experimenting and migrating applications in these early stages.
The Jakarta EE 9 3rd release candidate is available on Maven Central with the namespace changes in all of the Jakarta EE APIs and compatible implementations passing the standalone TCKs. Jakarta EE 9 will not be full of exciting new features, but this is an important milestone to drive forward and innovate the Jakarta EE 10 Platform in the cloud space.
Looking forward to the full release, Jakarta EE 9 will provide:
Payara Services is one of the leading contributor companies of the Jakarta EE and Eclipse GlassFish projects. We now provide the support of the Jakarta EE 9 Platform as a TECH PREVIEW feature in Payara Server Community 5.2020.5 to give our users an opportunity to try out the new Jakarta EE 9 namespace and start experimenting and migrating their applications. Do not migrate your production apps at this time – this is basically a proof of concept, and a tool for getting us from Jakarta EE 8 to Jakarta EE 9.
The Payara Server Community 5.2020.5 supports deployment of both Jakarta EE 8 (javax.* namespace) and Jakarta EE 9 (new jakarta.* namespace) applications in parallel without any additional configuration or setup.
Payara Server performs the detection of jakarta.* package references during the deployment of application and auto transform the class and resource files from the jakarta.* namespace to javax.* using the Eclipse Transformer tool. Transformation tasks can be customized via system property fish.payara.deployment.transform.namespace=<true|false|null> which is by default set to null.
Value | Transformation operation |
true | transformation process is always performed |
false | transformation process is permanently disabled |
null (default) | transformation is performed automatically on the detection of jakarta.* namespace in the deployment archive class and resource files. |
To create the Jakarta EE 9 application, you may simply create the Web Application from your favorite IDE or archetype. In this example, I am using the Apache NetBeans IDE to create the Maven Web Application:
Add the Jakarta EE 9 API dependency to the project’s pom.xml file:
<dependency>
<groupId>jakarta.platform</groupId>
<artifactId>jakarta.jakartaee-api</artifactId>
<version>9.0.0-RC3</version>
<scope>provided</scope>
</dependency>
or build.gradle file in the case of Gradle project:
providedCompile group: 'jakarta.platform', name: 'jakarta.jakartaee-api', version: '9.0.0-RC3'
Create a simple Rest Endpoint class with the new jakarta.ws.rs.* import:
Now the clean-n-build and deploy the application to the Payara Server:
Similarly, You may also deploy the Jakarta EE 9 application from any other Java IDE or directly from the command line.
We are targeting Payara Server 6 to become fully compatible with the Jakarta EE 9 and Jakarta EE 10 and we will support the deployment of new namespace applications without dynamic transformation. For compatibility and to provide the support to Jakarta EE 8 namespace applications, reverse transformation of the older namespace from javax.* to jakarta.* will be introduced moving forward.
Please share your feedback on the Payara forum and as always, if you find a bug, please report an issue.
Share:
We’re excited to announce that Payara Platform Community 7 Beta application server is now fully certified as Jakarta EE 11 […]
Middleware runs quietly in the background of most applications, which makes it easy to overlook its lifecycle. In effect, […]
Welcome aboard the August 2025 issue of The Payara Monthly Catch! With summer in full swing, things may have felt […]
Maybe it is an interesting finding: if you do not specify the property fish.payara.deployment.transform.namespace then the jars in the domain1/lib directory will be not transformed at deplyment time. With -Dfish.payara.deployment.transform.namespace=true it works.
Cheers