sidebar hamburger menu

OpenJDK

Endless Lifecycle Support (ELS) from TuxCare provides security fixes for OpenJDK versions that have reached end-of-life. This allows you to continue running your OpenJDK-based applications without vulnerability concerns, even after official support has ended.

Supported OS and OpenJDK versions

OSPackage TypeOS VersionOpenJDK version
EL 6 (CentOS, CloudLinux, Oracle Linux)RPM6.x7, 8
EL 7 (CentOS, CloudLinux, Oracle Linux, RHEL)RPM7.x8, 11
EL 8 (CentOS, CentOS Stream)RPM8.x8, 11
EL 9 (AlmaLinux, TuxCare ESU)RPM9.x8, 11, 17
WindowsZIPWindows Server 2019, 2022, 20258, 11, 17

Supported architectures:

  • Linux — x86_64 (64-bit)
  • Windows — x64 (64-bit)

Other versions and architectures available upon request. Contact [email protected] for more information.

Installation on Linux Docker compatible

Prerequisites

  • A valid TuxCare ELS license key — contact [email protected] to obtain one
  • Root or sudo access to the server
  1. Download the installer script

    wget https://repo.tuxcare.com/openjdk-els/install-openjdk-els-repo.sh
    
  2. Run the installer script with your license key (see Prerequisites above)

    sh install-openjdk-els-repo.sh --license-key XXXXXXXXXXX
    
  3. Verify the repository is enabled

    yum repolist | grep openjdk-els
    
  4. Install OpenJDK

    OpenJDK version:
    yum install java-1.7.0-openjdk
    
  5. Verify the installation

    java -version
    

Installation on Windows

ELS OpenJDK for Windows ships as a .zip archive: extract it and point JAVA_HOME at the extracted folder.

Each release provides three files:

FilePurpose
openjdk-<version>-tuxcare-els<N>-windows-x64.zipThe JDK (compiler and runtime)
SHA256SUMSChecksum of the archive
manifest.jsonProvenance: source revision, ELS counter, build host

<version> is the Java version (1.8.0_xxx, 11.0.x, 17.0.x) and els<N> is the TuxCare ELS respin counter.

Prerequisites

  • A valid TuxCare ELS license key or access to the secure download URL — contact [email protected] to obtain one
  • A supported Windows version — see Supported OS and OpenJDK versions above
  • Administrator access is required only for a machine-wide installation (step 4b); a single-user installation (step 4a) needs no elevation
  1. Download the package

    Download the .zip, SHA256SUMS and manifest.json for your version and the x64 architecture from the secure download URL provided by TuxCare.

  2. Verify the download (optional)

    In PowerShell, run the following from the folder that contains the archive and SHA256SUMS:

    $zip  = "openjdk-<version>-tuxcare-els<N>-windows-x64.zip"
    $want = (Select-String -Path SHA256SUMS -Pattern ([regex]::Escape($zip))).Line.Split()[0]
    $got  = (Get-FileHash -Algorithm SHA256 $zip).Hash.ToLower()
    if ($got -eq $want.ToLower()) { "OK" } else { "MISMATCH" }
    
  3. Extract the archive

    Extract to a location without spaces in the path, such as C:\Java:

    tar.exe -x -f "openjdk-<version>-tuxcare-els<N>-windows-x64.zip" -C C:\Java
    

    The archive unpacks into a single top-level folder. Its name depends on the version:

    • OpenJDK 11 and 17C:\Java\jdk
    • OpenJDK 8C:\Java\j2sdk-image

    Confirm it exists — this is the path you set as JAVA_HOME in the next step:

    Test-Path "C:\Java\jdk\bin\java.exe"
    
  4. Configure the environment

    Set JAVA_HOME and add its bin directory to PATH.

    4a. Current user (no administrator rights required):

    $jdk = "C:\Java\jdk"
    [Environment]::SetEnvironmentVariable("JAVA_HOME", $jdk, "User")
    $p = [Environment]::GetEnvironmentVariable("Path", "User")
    if ($p -notlike "*$jdk\bin*") { [Environment]::SetEnvironmentVariable("Path", "$jdk\bin;$p", "User") }
    

    4b. All users: run PowerShell as Administrator and use "Machine" in place of "User" in the commands above.

    Open a new terminal afterwards — environment changes are not visible in the window that made them.

  5. Verify the installation

    java -version
    javac -version
    

    Example output:

    openjdk version "17.0.14" 2026-01-21
    OpenJDK Runtime Environment (build 17.0.14+7)
    OpenJDK 64-Bit Server VM (build 17.0.14+7, mixed mode, sharing)
    javac 17.0.14
    

    Use the single-dash -version: it works on every version. The double-dash --version was added in JDK 9, so it works on OpenJDK 11 and 17 but not on OpenJDK 8.

    If java -version reports a version you did not install, another JDK comes earlier in PATH. Run where.exe java to see which one is being picked up.

  6. Compile and run a test program

    $src = "$env:TEMP\Hello"; New-Item -ItemType Directory -Force -Path $src | Out-Null
    'public class Hello { public static void main(String[] a){ System.out.println("Hello, World!"); } }' |
        Set-Content "$src\Hello.java" -Encoding ascii
    javac -d $src "$src\Hello.java"
    java -cp $src Hello
    

    Expected output:

    Hello, World!
    

Removing OpenJDK on Windows

The JDK is not registered with Windows and does not appear in Add or Remove Programs. To uninstall:

  1. Delete the extracted JDK folder

    For example, C:\Java\jdk.

  2. Remove the environment variables

    Delete JAVA_HOME and the ...\bin entry from PATH. Use the same scope you chose during installation — user, machine, or both.

What's Next?