第1章 RHEL でシステム全体の OpenJDK バージョンを対話的に選択
RHEL に OpenJDK が複数インストールされている場合は、システム全体で使用するデフォルトの OpenJDK バージョンを対話形式で選択できます。
root 権限がない場合は、JAVA_HOME
環境変数を設定 して OpenJDK バージョンを選択できます。
前提条件
- システムに対する root 権限がある。
-
yum
パッケージマネージャーを使用して、複数のバージョンの OpenJDK がインストールされている。
手順
システムにインストールされている OpenJDK のバージョンを表示します。
$ yum list installed "java*"
インストールされている Java パッケージの一覧が表示されます。
Installed Packages java-1.8.0-openjdk.x86_64 1:1.8.0.302.b08-0.el8_4 @rhel-8-appstream-rpms java-11-openjdk.x86_64 1:11.0.12.0.7-0.el8_4 @rhel-8-appstream-rpms java-11-openjdk-headless.x86_64 1:11.0.12.0.7-0.el8_4 @rhel-8-appstream-rpms java-17-openjdk.x86_64 1:17.0.0.0.35-4.el8 @rhel-8-appstream-rpms java-17-openjdk-headless.x86_64 1:17.0.0.0.35-4.el8 @rhel-8-appstream-rpms
特定の
java
コマンドに使用できる OpenJDK バージョンを表示し、使用するものを選択します。$ sudo alternatives --config java There are 3 programs which provide 'java'. Selection Command ----------------------------------------------- 1 java-11-openjdk.x86_64 (/usr/lib/jvm/java-11-openjdk-11.0.12.0.7-0.el8_4.x86_64/bin/java) * 2 java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.302.b08-0.el8_4.x86_64/jre/bin/java) + 3 java-17-openjdk.x86_64 (/usr/lib/jvm/java-17-openjdk-17.0.0.0.35-4.el8.x86_64/bin/java) Enter to keep the current selection[+], or type selection number: 1
- 現在のシステム全体の OpenJDK バージョンにはアスタリスクが付いています。
-
指定した
java
コマンドの現在の OpenJDK バージョンには、プラス記号が付いています。
Enter を押して現在の選択を保持するか、選択する OpenJDK バージョンの Selection 番号を入力し、Enter キーを押します。
システムのデフォルトの OpenJDK バージョンは、選択したバージョンです。
選択したバイナリーが選択されていることを確認します。
$ java -version openjdk version "17" 2021-09-14 OpenJDK Runtime Environment 21.9 (build 17+35) OpenJDK 64-Bit Server VM 21.9 (build 17+35, mixed mode, sharing)
注記この手順では、
java
コマンドを設定します。次に、javac
コマンドは同様の方法で設定できますが、独立して動作します。OpenJDK をインストールしている場合、
alternatives
はより多くの選択肢を提供します。特に、javac
マスターの代替は、-devel
サブパッケージが提供する多くのバイナリーを切り替えます。OpenJDK がインストールされていても
java
(およびその他の JRE マスター) やjavac
(およびその他の OpenJDK マスター) は別々に動作するため、JRE と JDK で異なる選択を行うことができます。alternatives --config java
コマンドは、jre
とその関連するスレーブに影響します。OpenJDK を変更する場合は、
javac alternatives
コマンドを使用します。--config javac
ユーティリティーはSDK
および関連するスレーブを設定します。可能なすべてのマスターを表示するには、alternatives --list
を使用して、java
,javac
、jre
、sdk
マスターのすべてを確認します。