Java SE support

Open Liberty requires a Java SE runtime. It can run by using either a Java Runtime Environment (JRE) or a Java SE Development Kit (JDK) distribution.

Open Liberty runs on any of the Java SE versions that are listed in the Supported Java Releases table. Always run Open Liberty on the most recent service release of your chosen Java version. A new version of Java SE is released every six months. Unless the prior version is designated as a Long Term Support (LTS) release, it no longer receives service updates for function and security after the new version is released. Whenever a non-LTS release is replaced by the next version, the Open Liberty project no longer validates the runtime against the older version.

Choosing a JVM

Two commonly used Java virtual machine (JVM) implementations are available: Eclipse OpenJ9 and HotSpot. They provide similar throughput performance, but make different tradeoffs for memory footprint and startup. As a result, Open Liberty recommends using a Java distribution that packages Eclipse OpenJ9 because it has a faster start time and uses less memory. The main Java distribution that uses Eclipse OpenJ9 is IBM Semeru. IBM Semeru provides uncertified Open Edition releases under a GPLv2 license with classpath exception, and Certified Edition releases under an IBM license.

Supported Java SE releases

The following table lists the Java SE versions that Open Liberty supports and provides links for downloads and migration guides.

Supported Java Releases
Java SE versionLTS ReleaseEclipse OpenJ9 DownloadHotSpot DownloadMigration Advice

8

yes

IBM Semeru 8

Eclipse Adoptium 8

11

yes

IBM Semeru 11

Eclipse Adoptium 11

Java SE 11 migration guide

17

yes

IBM Semeru 17

Eclipse Adoptium 17

Java SE 17 migration guide

Migration tools

In addition to the Java migration guides, tools are available that can provide migration advice that is targeted to your applications. The Migration Toolkit for Application Binaries can scan a JAR, WAR or EAR file and provide advice on migrating to new Java SE versions. After you download and install the tool, you can run it with the following command:

java -jar binaryAppScanner.jar myapp.war --analyze --sourceJava=ibm8 --targetJava=java11

Plug-ins that run a similar analysis on your application are available from Eclipse in the Eclipse marketplace.