Updating the Liberty Java runtime environment or software development kit

Updating to the latest Java™ version ensures that your Liberty environment receives new features and security fixes.

About this task

Liberty can run with any compliant Java runtime environment (JRE) or Java software development kit (SDK). This flexibility means that you have several options for installing the JRE or Java SDK:
Important: Removal notices were issued for Java SE 8 and 11, which means that support for these Java versions is removed as of the fix pack that is specified in Removal notices. After support is removed, the Liberty kernel is recompiled and can no longer run with the removed Java version.


  1. Update your Liberty installation to at least the minimum fix pack that supports the Java version. The more recent the fix pack, the more features and fixes are included.
    • [ and later] Java SE 20 requires Liberty fix pack or later.
    • [ and later] Java SE 17 requires Liberty fix pack or later.
    • Java SE 11 requires fix pack or later.
    • Java SE 8 requires fix pack or later.

    Open Liberty Thanks to Liberty zero-migration architecture, you can update your installation with minimal impact to your current applications and configuration. For more information about Liberty zero-migration architecture, see Zero-migration architecture on the Open Liberty website.

    For distributed platformsThe method that you use to update Liberty depends on how it was initially installed. If you installed from an archive file, such as a ZIP or JAR file, see Applying a fix pack to a Liberty ZIP archive installation or Applying a fix pack to a Liberty Java archive installation. If you used Installation Manager, see Updating Liberty on distributed operating systems.

  2. Update the JRE or Java SDK by using one of the following options.
    • For distributed platformsIf you installed Liberty from the .zip file with IBM Java SDK 8, you also received the latest Java updates. If you previously installed Liberty from this file and want to independently update the Java SDK, download a newer version from IBM Java SDKs for WebSphere Liberty.
    • If you installed Liberty by using Installation Manager, you can also use it to install and update IBM Java SDKs. If you use IBM Java, install one of the common IBM Java SDKs, such as IBM SDK, Java Technology Edition, Version 8. The IBM SDKs receive security updates faster than the older WebSphere® Java SDKs because they are not on the WebSphere fix pack schedule. The IBM Java 8 SDK is also used by WebSphere Application Server traditional V9.0.

      For distributed platformsFor more information about installing IBM Java SDKs by using Installation Manager, see Installing, updating, and uninstalling IBM SDK, Java Technology Edition.

    • Install a separately downloaded JRE or Java SDK. You can install any specification-compliant JRE or Java SDK of a supported Java version.
      After you install the JRE or Java SDK, change the Java level that Liberty uses by setting the JAVA_HOME variable.
      Tip: You can specify the Java SDK or JRE location on the JAVA_HOME property in the server.env file, as described in Customizing the Liberty environment. When you set the JAVA_HOME property in the server.env file, Liberty uses the same Java runtime location regardless of the user profile that the Liberty server runs under.
      Alternatively, you can set the JAVA_HOME variable on your operating system:

      For Windows platformsGo to System > Advanced system settings. In the Advanced tab of the System Properties window, click Environment Variables. Add or edit the JAVA_HOME system variable so that it points to the jre directory of the Java installation, such as C:\Program Files\IBM\Java80\jre.

      For LINUX platformsFor Solaris platformsFor HP UNIX platformsFor AIX platforms If you are running bash shell, you can add the JAVA_HOME environment variable to the .bashrc file in the user's home directory.

  3. Check for any deprecations or incompatibilities by scanning your applications with the Migration Toolkit.

    In most cases, Java SE specifications are upwards binary-compatible with previous Java SE versions except for the incompatibilities and deprecations that are documented in the Oracle Compatibility Guide for JDK 8 and Java SE 7 and JDK 7 Compatibility.

    Important: Java SE 11 introduced significant breaking changes, primarily the removal of Java EE and CORBA APIs.
    The Migration Toolkit consists of two separate tools, the Migration Toolkit for Application Binaries and the Eclipse-based WebSphere Application Server Migration Toolkit.
    • The application binary scanner provides a detailed migration analysis report for your application, so you can better understand the type and scope of changes that the application might require.
    • When you migrate your applications, the Eclipse-based Migration Toolkit provides quick fixes to automatically update your source when possible and provides detailed help for items that must be manually updated.