Chapter 1. Interactively selecting a system-wide Red Hat build of OpenJDK version on RHEL
If you have multiple versions of Red Hat build of OpenJDK installed on RHEL, you can interactively select the default Red Hat build of OpenJDK version to use system-wide.
If you do not have root privileges, you can select a Red Hat build of OpenJDK version by configuring the JAVA_HOME
environment variable.
Prerequisites
- You must have root privileges on the system.
-
Multiple versions of Red Hat build of OpenJDK were installed using the
yum
package manager.
Procedure
View the Red Hat build of OpenJDK versions installed on the system.
$ yum list installed "java*"
A list of installed Java packages appears.
Installed Packages java-1.8.0-openjdk.x86_64 1:1.8.0.242.b08-0.el8_1 @rhel-8-appstream-rpms java-1.8.0-openjdk-headless.x86_64 1:1.8.0.242.b08-0.el8_1 @rhel-8-appstream-rpms java-11-openjdk.x86_64 1:11.0.9.10-0.el8_1 @rhel-8-appstream-rpms java-11-openjdk-headless.x86_64 1:11.0.9.10-0.el8_1 @rhel-8-appstream-rpms javapackages-filesystem.noarch 5.3.0-1.module+el8+2447+6f56d9a6 @rhel-8-appstream-rpms
Display the Red Hat build of OpenJDK versions that can be used for a specific
java
command and select the one to use:$ sudo alternatives --config java There are 2 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.232.b09-0.el8_0.x86_64/jre/bin/java) + 2 java-11-openjdk.x86_64 (/usr/lib/jvm/java-11-openjdk-11.0.9.10-0.el8_0.x86_64/bin/java) Enter to keep the current selection[+], or type selection number: 1
- The current system-wide Red Hat build of OpenJDK version is marked with an asterisk.
-
The current Red Hat build of OpenJDK version for the specified
java
command is marked with a plus sign.
Press Enter to keep the current selection or enter the Selection number of the Red Hat build of OpenJDK version you want to select followed by the Enter key.
The default Red Hat build of OpenJDK version for the system is the selected version.
Verify that the chosen binary is selected.
$ java -version openjdk version "11.0.9" 2020-10-15 LTS OpenJDK Runtime Environment 18.9 (build 11.0.9+10-LTS) OpenJDK 64-Bit Server VM 18.9 (build 11.0.9+10-LTS, mixed mode, sharing)
NoteThis procedure configures the
java
command. Thenjavac
command can be set up in a similar way, but it operates independently.If you have Red Hat build of OpenJDK installed,
alternatives
provides more possible selections. In particular, thejavac
master alternative switches many binaries provided by the-devel
sub-package.Even if you have Red Hat build of OpenJDK installed,
java
(and other JRE masters) andjavac
(and other Red Hat build of OpenJDK masters) still operate separately, so you can have different selections for JRE and JDK. Thealternatives --config java
command affects thejre
and its associated slaves.If you want to change Red Hat build of OpenJDK, use the
javac alternatives
command. The--config javac
utility configures theSDK
and related slaves. To see all possible masters, usealternatives --list
and check all of thejava
,javac
,jre
, andsdk
masters.