Java 25 Support
We now offer support for Java 25 in our JEE applications. Java 25 comes with some new features and performance enhancements as listed in the official release publication.
Java 25 at runtime
TomEE 8 was not compatible with Java 25 due to the removal of the SecurityManager in Java 24
(deprecated in Java 17). A workaround for this issue was added in
version 10.2.1 of TomEE. We've now also backported this change to version 8 in our fork of TomEE 8 and released it as
part of our TomEE 8.0.19 update.
For now our images will still default to Java 21, but by adding the jre25 modifier to the image tags, you can already
make use of the latest LTS version of Java.
Today, this is:
docker.normalizedsystems.org/nsx-tomee-base:8.0.19-3.11.1-jre25for root-based imagesdocker.normalizedsystems.org/nsx-tomee-base:8.0.19-3.11.1-jre25-rootlessfor rootless images
For the latest version of the image, please refer to the image documentation page.
Compiling for Java 25
To compile for Java 25 and use its language features, you need to change the Java version in the technical
infrastructure settings file of your JEE project. Ideally you would also make a new settings file as the name of the
settings is typically the version of Java. If you make a new file with a new name, also update the
technicalInfrastructure reference in your application instance.
<technicalInfrastructure name="Java 25">
<javaVersion>jdk8</javaVersion>
<jeeVersion>25</jeeVersion>
</technicalInfrastructure>
<applicationInstance name="my-application">
<shortName>my-application</shortName>
<version>1.0.0</version>
<globalOptionSettings name="3.0 Modern"/>
<presentationSettings name="3.1 Future"/>
<businessLogicSettings name="TomEE Postgres Hibernate"/>
<technicalInfrastructure name="Java 25"/>
</applicationInstance>
In addition to this change, you need at least version 9.1.0 of net.democritus:Expanders in your project to target
Java 25.
