RHEL での OpenJDK 17 の設定
ガイド
概要
多様性を受け入れるオープンソースの強化
Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、今後の複数のリリースで段階的に用語の置き換えを実施して参ります。詳細は、弊社 の CTO、Chris Wright のメッセージ を参照してください。
Red Hat ドキュメントへのフィードバック
弊社のドキュメントに関するご意見やご感想をお寄せください。フィードバックをお寄せいただくには、ドキュメントのテキストを強調表示し、コメントを追加できます。
本セクションでは、フィードバックの送信方法を説明します。
前提条件
- Red Hat カスタマーポータルにログインしている。
- Red Hat カスタマーポータルで、マルチページ HTML 形式でドキュメントを表示します。
手順
フィードバックを提供するには、以下の手順を実施します。
ドキュメントの右上隅にある フィードバック ボタンをクリックして、既存のフィードバックを確認します。
注記フィードバック機能は、マルチページ HTML 形式でのみ有効です。
- フィードバックを提供するドキュメントのセクションを強調表示します。
ハイライトされたテキスト近くに表示される Add Feedback ポップアップをクリックします。
ページの右側のフィードバックセクションにテキストボックスが表示されます。
テキストボックスにフィードバックを入力し、Submit をクリックします。
ドキュメントに関する問題が作成されます。
- 問題を表示するには、フィードバックビューで問題トラッカーリンクをクリックします。
第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
マスターのすべてを確認します。
第2章 RHEL でシステム全体の OpenJDK バージョンを非対話的に選択
RHEL に OpenJDK の複数のバージョンがインストールされている場合は、デフォルトの OpenJDK バージョンを選択して、非対話式の方法でシステム全体を使用できます。これは、Red Hat Enterprise Linux システムで root 権限を持ち、多くのシステムのデフォルト OpenJDK を自動的に切り替える必要がある管理者に役立ちます。
root 権限がない場合は、JAVA_HOME
環境変数を設定 して OpenJDK バージョンを選択できます。
前提条件
- システムに対する root 権限がある。
-
yum
パッケージマネージャーを使用して、複数のバージョンの OpenJDK がインストールされている。
手順
切り替える OpenJDK のメジャーバージョンを選択します。たとえば、OpenJDK 17 の場合は
java-17-openjdk
を使用します。# PKG_NAME=java-17-openjdk # JAVA_TO_SELECT=$(alternatives --display java | grep "family $PKG_NAME" | cut -d' ' -f1) # alternatives --set java $JAVA_TO_SELECT
アクティブな 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)
第3章 特定のアプリケーション用にインストールされた OpenJDK バージョンの選択
アプリケーションによっては、実行に特定の OpenJDK バージョンを必要とするものもあります。yum
パッケージマネージャーまたはポータブルバンドルを使用して、複数のバージョンの OpenJDK がシステムにインストールされている場合は、JAVA_HOME
環境変数の値を設定するか、ラッパースクリプトを使用して、必要に応じて各アプリケーションの OpenJDK バージョンを選択できます。
前提条件
- OpenJDK の複数のバージョンがマシンにインストールされている。
- 実行するアプリケーションがインストールされていることを確認します。
手順
JAVA_HOME
環境変数を設定します。たとえば、yum
を使用して OpenJDK 17 がインストールされた場合は以下を使用します。$ JAVA_HOME=/usr/lib/jvm/java-17-openjdk
注記シンボリックリンク
java-17-openjdk
は、alternatives
コマンドにより制御されます。次のいずれかを行います。
システム全体のデフォルト設定を使用してアプリケーションを起動します。
$ mvn --version Apache Maven 3.5.4 (Red Hat 3.5.4-5) Maven home: /usr/share/maven Java version: 11.0.9, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-11-openjdk-11.0.9.10-0.el8_0.x86_644/jre Default locale: en_US, platform encoding: UTF-8 OS name: "linux", version: "4.18.0-144.el8.x86_64", arch: "amd64", family: "unix"
JAVA_HOME
変数を指定してアプリケーションを起動します。$ JAVA_HOME=/usr/lib/jvm/java-17-openjdk-17.0.0.0.35-4.el8.x86_64/ mvn --version Apache Maven 3.5.4 (Red Hat 3.5.4-5) Maven home: /usr/share/maven Java version: 17, vendor: Red Hat, Inc., runtime: /usr/lib/jvm/java-17-openjdk-17.0.0.0.35-4.el8.x86_64 Default locale: en_US, platform encoding: UTF-8 OS name: "linux", version: "4.18.0-305.19.1.el8_4.x86_64", arch: "amd64", family: "unix"
第4章 システム全体のアーカイブ OpenJDK バージョンの選択
RHEL にアーカイブを使用して複数のバージョンの OpenJDK がインストールされている場合は、システム全体で使用する特定の OpenJDK バージョンを選択できます。
前提条件
- アーカイブを使用してインストールされた OpenJDK のバージョンの場所を把握している。
手順
1 つのセッションに使用する OpenJDK バージョンを指定するには、以下のコマンドを実行します。
システム全体で使用する OpenJDK バージョンへのパスで
JAVA_HOME
を設定します。$ export JAVA_HOME=/opt/jdk/openjdk-17.0.0.0.35
$JAVA_HOME/bin
をPATH
環境変数に追加します。$ export PATH="$JAVA_HOME/bin:$PATH"
1 人のユーザーに永続的に使用する OpenJDK バージョンを指定するには、以下のコマンドを ~/.bashrc
に追加します。
export JAVA_HOME=/opt/jdk/openjdk-17.0.0.0.35 export PATH="$JAVA_HOME/bin:$PATH"
すべてのユーザーに永続的に使用する OpenJDK バージョンを指定するには、以下のコマンドを /etc/bashrc
に追加します。
export JAVA_HOME=/opt/jdk/openjdk-17.0.0.0.35 export PATH="$JAVA_HOME/bin:$PATH"
JAVA_HOME
を再定義しない場合は、Java バイナリーへのパスを指定して、PATH コマンドのみを bashrc
に追加します。たとえば、export PATH="/opt/jdk/openjdk-17.0.0.0.35/bin:$PATH"
になります。
関連情報
-
JAVA_HOME
の正確な意味に注意してください。詳細は「システム設定を java コマンドの設定から変更/分離」を参照してください。
第5章 RHEL での JAVA_HOME 環境変数の設定
前提条件
手順
$ export JAVA_HOME=/opt/jdk/11
$ printenv | grep JAVA_HOME JAVA_HOME=/opt/jdk/11
注記> vi ~/.bash_profile export JAVA_HOME=/opt/jdk/11 export PATH="$JAVA_HOME/bin:$PATH"
関連情報
-
JAVA_HOME
の正確な意味に注意してください。詳細は「システム設定を java コマンドの設定から変更/分離」を参照してください。
第6章 RHEL での OpenJDK アプリケーションのヒープサイズの設定
手順
$ java -Xmx100m <your_application_name>
関連情報
-
Xmx
オプションの詳細は、Java ドキュメント の -Xmxsize を参照してください。