Can more than one major Java version be installed on Red Hat Enterprise Linux?

Hello all,

Is it possible to install both java-1.8.0-openjdk.x86_64 and java-11-openjdk.x86_64 packages on AlmaLinux / CentOS?

If I install both java-1.8.0-openjdk.x86_64 and java-11-openjdk.x86_64 on RHEL, which one will be used as the default?

Thank you, Julia :folded_hands:

Hi,

Yes, you can install multiple major Java versions (except OpenJDK 25 alongside any JDK on AlmaLinux 10).

Here’s an example from a system with OpenJDK versions 1.8.0, 11, and 17 (java-1.8.0-openjdk.x86_64, java-11-openjdk.x86_64, and java-17-openjdk.x86_64) installed.

# alternatives --config java

There are 3 programs which provide 'java'.

Selection    Command
-----------------------------------------------
1           java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-9.el9.x86_64/jre/bin/java)
2           java-17-openjdk.x86_64 (/usr/lib/jvm/java-17-openjdk-17.0.2.0.8-5.el9.x86_64/bin/java)
*+ 3           java-11-openjdk.x86_64 (/usr/lib/jvm/java-11-openjdk-11.0.14.1.1-6.el9.x86_64/bin/java)

Enter to keep the current selection[+], or type selection number:

The system’s default Java version is determined by the package with the highest priority value.

# java -version
openjdk version "11.0.14.1" 2022-02-08 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.14.1+1-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.14.1+1-LTS, mixed mode, sharing)

# alternatives --display java | grep -i priority
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-9.el9.x86_64/jre/bin/java - family java-1.8.0-openjdk.x86_64 priority 1
/usr/lib/jvm/java-17-openjdk-17.0.2.0.8-5.el9.x86_64/bin/java - family java-17-openjdk.x86_64 priority 1
/usr/lib/jvm/java-11-openjdk-11.0.14.1.1-6.el9.x86_64/bin/java - family java-11-openjdk.x86_64 priority 11001421

You can switch to a different version using the alternatives --config java command shown above.

Cheers, Richard