RHEL 向け OpenJDK 8 の設定
ガイド
概要
多様性を受け入れるオープンソースの強化
Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、今後の複数のリリースで段階的に用語の置き換えを実施して参ります。詳細は、Red Hat CTO である Chris Wright のメッセージ を参照してください。
Red Hat ドキュメントへのフィードバック (英語のみ)
Red Hat ドキュメントに関するご意見やご感想をお寄せください。フィードバックをお寄せいただくには、ドキュメントのテキストを強調表示し、コメントを追加できます。
このセクションでは、フィードバックの送信方法を説明します。
前提条件
- Red Hat カスタマーポータルにログインしている。
- Red Hat カスタマーポータルで、マルチページ HTML 形式でドキュメントを表示している。
手順
フィードバックを提供するには、以下の手順を実施します。
ドキュメントの右上隅にある Feedback ボタンをクリックして、既存のフィードバックを確認します。
注記フィードバック機能は、Multi-page 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.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.6.10-0.el8_1 @rhel-8-appstream-rpms java-11-openjdk-headless.x86_64 1:11.0.6.10-0.el8_1 @rhel-8-appstream-rpms javapackages-filesystem.noarch 5.3.0-1.module+el8+2447+6f56d9a6 @rhel-8-appstream-rpms
特定の
javaコマンドに使用できる OpenJDK バージョンを表示し、使用するものを選択します。$ 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.242.b08-0.el8_1.x86_64/jre/bin/java) 2 java-11-openjdk.x86_64 (/usr/lib/jvm/java-11-openjdk-11.0.6.10-0.el8_1.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 "1.8.0_242" OpenJDK Runtime Environment (build 1.8.0_242-b08) OpenJDK 64-Bit Server VM (build 25.242-b08, mixed mode)
注記この手順では、
javaコマンドを設定します。次に、javacコマンドは同様の方法で設定できますが、独立して動作します。OpenJDK をインストールしている場合、
alternativesはより多くの選択肢を提供します。特に、javacマスターの代替は、-develサブパッケージが提供する多くのバイナリーを切り替えます。OpenJDK がインストールされていても
java(およびその他の JRE マスター) やjavac(およびその他の OpenJDK マスター) は別々に動作するため、JRE と JDK で異なる選択を行うことができます。alternatives --config javaコマンドは、jreとそれに関連付けられたスレーブに影響します。Javaを変更する場合は、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 8 の場合は java-1.8.0-openjdk を使用します。
# PKG_NAME=java-1.8.0-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 "1.8.0_242" OpenJDK Runtime Environment (build 1.8.0_242-b08) OpenJDK 64-Bit Server VM (build 25.242-b08, mixed mode)
注記javacについても同様のアプローチが可能です。
第3章 特定のアプリケーション用にインストールされた OpenJDK バージョンの選択
アプリケーションによっては、実行に特定の OpenJDK バージョンを必要とするものもあります。yum パッケージマネージャーまたはポータブルバンドルを使用して、複数のバージョンの OpenJDK がシステムにインストールされている場合は、JAVA_HOME 環境変数の値を設定するか、ラッパースクリプトを使用して、必要に応じて各アプリケーションの OpenJDK バージョンを選択できます。
前提条件
- OpenJDK の複数のバージョンがマシンにインストールされている。
- 実行するアプリケーションがインストールされている。
手順
JAVA_HOME環境変数を設定します。たとえば、yumを使用して openjdk-8 がインストールされた場合は以下を使用します。$ JAVA_HOME=/usr/lib/jvm/java-8-openjdk注記シンボリックリンク
java-8-openjdkは、alternativesコマンドにより制御されます。次のいずれかを行います。
システム全体のデフォルト設定を使用してアプリケーションを起動します。
$ mvn --version Apache Maven 3.5.4 (Red Hat 3.5.4-5) Maven home: /usr/share/maven Java version: 1.8.0_242, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.242.b08-0.el8_1.x86_64/jre Default locale: en_US, platform encoding: UTF-8 OS name: "linux", version: "4.18.0-147.3.1.el8_1.x86_64", arch: "amd64", family: "unix"
JAVA_HOME変数を指定してアプリケーションを起動します。$ JAVA_HOME=/usr/lib/jvm/java-8-openjdk mvn --version Apache Maven 3.5.4 (Red Hat 3.5.4-5) Maven home: /usr/share/maven Java version: 1.8.0_242, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-8-openjdk-1.8.0.242.b08-0.el8_1.x86_64 Default locale: en_US, platform encoding: UTF-8 OS name: "linux", version: "5.4.12-200.el8_1.x86_64", arch: "amd64", family: "unix"
第4章 システム全体のアーカイブ OpenJDK バージョンの選択
RHEL 8 にアーカイブを使用して複数のバージョンの OpenJDK がインストールされている場合は、システム全体で使用する特定の OpenJDK バージョンを選択できます。
前提条件
- アーカイブを使用してインストールされた OpenJDK のバージョンの場所を把握している。
手順
1 つのセッションに使用する OpenJDK バージョンを指定するには、以下のコマンドを実行します。
システム全体で使用する OpenJDK バージョンへのパスで
JAVA_HOMEを設定します。$ export JAVA_HOME=/opt/jdk/jdk-1.8.0$JAVA_HOME/binをPATH環境変数に追加します。$ export PATH="$JAVA_HOME/bin:$PATH"
1 人のユーザーに永続的に使用する OpenJDK バージョンを指定するには、以下のコマンドを ~/.bashrc に追加します。
export JAVA_HOME=/opt/jdk/jdk-1.8.0 export PATH="$JAVA_HOME/bin:$PATH"
すべてのユーザーに永続的に使用する OpenJDK バージョンを指定するには、以下のコマンドを /etc/bashrc に追加します。
export JAVA_HOME=/opt/jdk/jdk-1.8.0 export PATH="$JAVA_HOME/bin:$PATH"
JAVA_HOME を再定義しない場合は、Java バイナリーへのパスを指定して、PATH コマンドのみを bashrc に追加します。たとえば、export PATH="/opt/jdk/jdk-1.8.0/bin:$PATH" となります。
関連情報
-
JAVA_HOMEの正確な意味に関する詳細は、システム設定を java コマンドの設定から変更/分離 を参照してください。
第5章 RHEL での JAVA_HOME 環境変数の設定
一部のアプリケーションでは、OpenJDK のインストールを検出できるように JAVA_HOME 環境変数を設定する必要があります。
前提条件
-
システムのどこに OpenJDK をインストールしたかを理解している。たとえば、
/opt/jdk/11です。
手順
JAVA_HOMEの値を設定します。$ export JAVA_HOME=/opt/jdk/11
JAVA_HOMEが正しく設定されていることを確認します。$ printenv | grep JAVA_HOME JAVA_HOME=/opt/jdk/11
注記単一ユーザーの場合は
~/.bashrcの環境変数、システム全体の設定の場合は/etc/bashrcの環境変数をエクスポートしてJAVA_HOMEの値を永続的にすることができます。永続的とは、端末を閉じたりコンピューターを再起動したりした場合に、JAVA_HOME環境変数の値をリセットする必要がないことを意味します。次の例は、テキストエディターを使用して、シングルユーザーの
~/.bashrcにJAVA_HOMEをエクスポートするためのコマンドを入力する方法を示しています。> vi ~/.bash_profile export JAVA_HOME=/opt/jdk/11 export PATH="$JAVA_HOME/bin:$PATH"
関連情報
-
JAVA_HOMEの正確な意味に注意してください。詳細は、システム設定を java コマンドの設定から変更/分離 を参照してください。
第6章 RHEL での OpenJDK アプリケーションのヒープサイズの設定
カスタマイズされたヒープサイズを使用するように OpenJDK を設定できます。
手順
アプリケーションの実行時に
javaコマンドに最大ヒープサイズオプションを追加します。たとえば、最大ヒープサイズを 100 メガバイトに設定するには、-Xmx100mオプションを使用します。$ java -Xmx100m <your_application_name>
関連情報
-
Xmxオプションの詳細は、Java ドキュメント の -Xmxsize を参照してください。