第2章 Red Hat Enterprise Linux での OpenJDK 11 のインストール
OpenJDK は、モバイルアプリケーションからデスクトップアプリケーション、Web アプリケーション、エンタープライズシステムまで、プラットフォームに依存しない幅広いアプリケーションを開発および実行するための環境です。Red Hat は、OpenJDK と呼ばれる Java Platform SE(Standard Edition)のオープンソース実装を提供します。
アプリケーションは、JDK (Java Development Kit) を使用して開発されます。アプリケーションは、JRE (Java ランタイム環境) および JDK に含まれる JVM (Java 仮想マシン) で実行されます。フットプリントが最小で、ユーザーインターフェースに必要なライブラリーが含まれていないヘッドレスバージョンの Java もあります。ヘッドレスバージョンは、ヘッドレスサブパッケージにパッケージ化されています。
JRE と JDK のどちらが必要かわからない場合は、JDK をインストールすることが推奨されます。
以下のセクションでは、Red Hat Enterprise Linux に OpenJDK をインストールする手順を説明します。
2.1. yum を使用して RHEL に JRE をインストール
システムパッケージマネージャー (yum
) を使用して、OpenJDK Java Runtime Environment (JRE) をインストールできます。
前提条件
- root 権限を持つユーザーとしてログイン
手順
インストールするパッケージを指定して、
yum
コマンドを実行します。$ sudo yum install java-11-openjdk
インストールが機能することを確認します。
$ 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)
2.2. アーカイブを使用した RHEL への JRE のインストール
アーカイブを使用して OpenJDK Java Runtime Environment (JRE) をインストールできます。これは、Java 管理者が root 権限を持たない場合に便利です。
後続バージョンのアップグレードを容易にするために、JRE を含む親ディレクトリーを作成し、汎用パスを使用して最新の JRE へのシンボリックリンクを作成します。
手順
- Linux 用の最新バージョンの JRE アーカイブをダウンロード
アーカイブのコンテンツを任意のディレクトリーに展開します。
$ mkdir ~/jres $ cd ~/jres $ tar -xf java-11-openjdk-11.0.9.10-0.portable.jre.el.x86_64.tar.xz
アップグレードを容易にするために、JRE へのシンボリックリンクを使用して汎用パスを作成します。
$ ln -s ~/jres/java-11-openjdk-11.0.9.10-0.portable.jre.el.x86_64 ~/jres/java-11
JAVA_HOME
環境変数を設定します。$ export JAVA_HOME=~/jres/java-11
JAVA_HOME
環境変数が正しく設定されていることを確認します。$ printenv | grep JAVA_HOME JAVA_HOME=~/jres/java-11
注記この方法でインストールした場合、Java は現在のユーザーのみが使用できます。
一般的な JRE パスの
bin
ディレクトリーをPATH
環境変数に追加します。$ export PATH="$JAVA_HOME/bin:$PATH"
完全パスを指定せずに
java -version
が機能することを確認します。$ java -version openjdk version "11.0.9" 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)
~/.bashrc
に環境変数をエクスポートすることで、JAVA_HOME
環境変数が現在のユーザーに対して持続することを確認できます。
2.3. yum を使用して RHEL への OpenJDK のインストール
OpenJDK は、システムパッケージマネージャー yum
を使用してインストールできます。
要件
- root 権限を持つユーザーとしてログインします。
手順
インストールするパッケージを指定して、
yum
コマンドを実行します。$ sudo yum install java-11-openjdk-devel
インストールが機能することを確認します。
$ javac -version javac 11.0.9_10
2.4. アーカイブを使用した RHEL への OpenJDK のインストール
OpenJDK はアーカイブでインストールできます。これは、Java 管理者が root 権限を持たない場合に便利です。
アップグレードを容易にするために、JRE を含む親ディレクトリーを作成し、汎用パスを使用して最新の JRE へのシンボリックリンクを作成します。
手順
- Linux 用の最新バージョンの JDK アーカイブをダウンロード
アーカイブのコンテンツを任意のディレクトリーに展開します。
$ mkdir ~/jdks $ cd ~/jdks $ tar -xf java-11-openjdk-11.0.9.10-0.portable.jre.el.x86_64.tar.xz
アップグレードを容易にするために、JDK へのシンボリックリンクを使用して汎用パスを作成します。
$ ln -s ~/jdks/java-11-openjdk-11.0.9.10-0.portable.jre.el.x86_64 ~/jdks/java-11
JAVA_HOME
環境変数を設定します。$ export JAVA_HOME=~/jdks/java-11
JAVA_HOME
環境変数が正しく設定されていることを確認します。$ printenv | grep JAVA_HOME JAVA_HOME=~/jdks/java-11
注記この方法でインストールした場合、Java は現在のユーザーのみが使用できます。
一般的な JRE パスの
bin
ディレクトリーをPATH
環境変数に追加します。$ export PATH="$JAVA_HOME/bin:$PATH"
完全パスを指定せずに
java -version
が機能することを確認します。$ java -version openjdk version "11.0.9" 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)
~/.bashrc
に環境変数をエクスポートすることで、JAVA_HOME
環境変数が現在のユーザーに対して持続することを確認できます。
2.5. yum を使用して RHEL に OpenJDK の複数のメジャーバージョンをインストール
システムパッケージマネージャー yum
を使用して、OpenJDK の複数バージョンをインストールできます。
要件
- インストールする OpenJDK を提供するリポジトリーへのアクセスを提供するアクティブなサブスクリプションを持つ Red Hat Subscription Manager (RHSM) アカウント。
- システムに対する root 権限がある。
手順
以下の
yum
コマンドを実行してパッケージをインストールします。For OpenJDK 11
$ sudo yum install java-11-openjdk
OpenJDK 8 の場合
$ sudo yum install java-1.8.0-openjdk
インストール後に、利用可能な java バージョンを確認します。
$ sudo yum list installed "java*" Installed Packages java-11-openjdk.x86_64 1:11.0.9.11-2.el8_3 @rhel-8-for-x86_64-appstream-rpms java-1.8.0-openjdk.x86_64 1:1.8.0.272.b10-3.el8_3 @rhel-8-for-x86_64-appstream-rpms
現在の Java バージョンを確認します。
$ java -version openjdk version "11.0.9" 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)
参考情報
-
java --alternatives
を使用して、使用するデフォルトの Java バージョンを設定できます。詳細は「Selecting a system-wide java version」を参照してください。
2.6. アーカイブを使用して RHEL に OpenJDK の複数のメジャーバージョンをインストール
OpenJDK の複数のメジャーバージョンをインストールするには、アーカイブを使用した RHEL への JRE のインストールと同じ手順を使用するか、複数のメジャーバージョンを使用してアーカイブを使用して RHEL 8 に OpenJDK をインストールできます。
システムのデフォルトの OpenJDK バージョンを設定する方法は、「Selecting a system-wide archive java version」を参照してください。
2.7. yum を使用して RHEL に OpenJDK の複数のマイナーバージョンをインストール
RHEL には、OpenJDK の複数のマイナーバージョンをインストールできます。これは、インストールされているマイナーバージョンが更新されないようにすることで行われます。
要件
- Selecting a system-wide java version から OpenJDK のシステム全体のバージョンを選択します。
手順
/etc/yum.conf
にinstallonlypkgs
オプションを追加して、yum
がインストール可能でも更新できない OpenJDK パッケージを指定します。installonlypkgs=java-<version>--openjdk,java-<version>--openjdk-headless,java-<version>--openjdk-devel
更新は、システムに古いバージョンを残したまま、新しいパッケージをインストールします。
$ rpm -qa | grep java-11.0.9-openjdk java-11-openjdk-11.0.9.10-0.portable.jdk.el.x86_64 java-11-openjdk-headless-11.0.9.10-0.portable.jdk.el.x86_64
OpenJDK のさまざまなマイナーバージョンは、
/usr/lib/jvm/<minor version>
で参照できます。たとえば、以下は
/usr/lib/jvm/java-11.0.9-openjdk-11
の一部を示しています。$ /usr/lib/jvm/java-11-openjdk-11.0.9.10-0.portable.jdk.el.x86_64/bin/java -version openjdk version "11.0.9.10-0" OpenJDK Runtime Environment (build 11.0.9-b11) OpenJDK 64-Bit Server VM (build 11.0.9-b11, mixed mode) $ /usr/lib/jvm/java-11-openjdk-11.0.9.10-0.portable.jdk.el.x86_64/bin/java -version openjdk version "11.0.8.10" OpenJDK Runtime Environment (build 11.0.9.10-b11) OpenJDK 64-Bit Server VM (build 25.172-b11, mixed mode)
2.8. アーカイブを使用して RHEL に OpenJDK の複数のマイナーバージョンをインストール
複数のマイナーバージョンのインストールは、複数のマイナーバージョンを使用した アーカイブを使用した RHEL への JRE のインストール または アーカイブを使用した RHEL 8 への OpenJDK のインストール と同じです。
システムのデフォルトのマイナーバージョンを選択する方法は、「Selecting a system-wide archive java version」を参照してください。