序章

このチュートリアルでは、RPMベースのLinuxディストリビューションの現在のバージョン(Red Hat Enterprise Linux、CentOS、Fedora、およびRocky Linux)にJavaをインストールする方法を示します。 Javaは、多くのサーバー側アプリケーションを実行できるようにする人気のあるプログラミング言語およびソフトウェアプラットフォームです。

このチュートリアルでは、Javaの最新のデフォルトバージョンのインストール、インストールする古いバージョンの選択、および必要に応じて環境内の複数のバージョン間の切り替えについて説明します。

前提条件

このガイドを開始する前に、root以外の通常のユーザーが sudo サーバーで構成された特権–これは、サーバーにログインする必要があるユーザーです。 Rocky Linux 8 初期サーバーセットアップガイドの手順に従って、通常のユーザーアカウントを構成する方法を学ぶことができます。

ステップ1-OpenJDKのインストール

Java Platformには、Standard Edition(SE)、Enterprise Edition(EE)、およびMicro Edition(ME)の3つの異なるエディションがあります。 このチュートリアルは、Java SE(Java Platform、Standard Edition)に焦点を当てています。 ほとんどすべてのオープンソースJavaソフトウェアは、JavaSEで実行するように設計されています。

インストールできるJavaSEパッケージには、Java Runtime Environment(JRE)とJava Development Kit(JDK)の2つがあります。 JREは、Java仮想マシン(JVM)の実装であり、コンパイルされたJavaアプリケーションおよびアプレットを実行できます。 JDKには、JREと、Javaアプリケーションおよびアプレットの作成、開発、およびコンパイルに必要なその他のソフトウェアが含まれています。

Javaには、OpenJDKとOracleJavaの2つの異なる実装もあります。 どちらの実装もほぼ同じコードに基づいていますが、Javaのリファレンス実装であるOpenJDKは完全にオープンソースであり、OracleJavaには独自のコードが含まれています。 ほとんどのJavaアプリケーションはどちらでも正常に動作しますが、ソフトウェアが要求する実装を使用する必要があります。

さまざまなバージョンとリリースのJavaを単一のシステムにインストールできますが、ほとんどの場合、必要なインストールは1つだけです。 そのことを念頭に置いて、アプリケーションを実行または開発するために必要なバージョンのJavaのみをインストールするようにしてください。

このセクションでは、ビルド済みのOpenJDKJREおよびJDKパッケージを使用してインストールする方法を説明します。 yum パッケージマネージャー。 yum RPMパッケージを使用するディストリビューションのデフォルトのパッケージマネージャーです。

yumを使用してOpenJDKをインストールするには、次のコマンドを実行できます。 sudo yum install java:

  1. sudo yum install java

デフォルトでは、インストールしようとしています java バージョンを指定しないと、OpenJDKJREの最も一般的な安定したバージョンに解決されます。 この出力からわかるように、この記事の執筆時点では、 java-1.8.0-openjdk:

Output
Last metadata expiration check: 0:02:38 ago on Tue 22 Feb 2022 04:57:59 PM UTC. Dependencies resolved. ======================================================================================== Package Arch Version Repo Size ======================================================================================== Installing: java-1.8.0-openjdk x86_64 1:1.8.0.322.b06-2.el8_5 appstream 341 k Installing dependencies: alsa-lib x86_64 1.2.5-4.el8 appstream 488 k atk x86_64 2.28.1-1.el8 appstream 270 k avahi-libs x86_64 0.7-20.el8 baseos 61 k copy-jdk-configs noarch 4.0-2.el8 appstream 29 k cups-libs x86_64 1:2.2.6-40.el8 baseos 432 k fribidi x86_64 1.0.4-8.el8 appstream 88 k …

Javaとともに複数の依存関係も提供されます。 確認プロンプトで、次のように入力します y 次にEnterキーを押して、インストールを続行します。 インストール元のリポジトリの署名キーを受け入れるように求められる場合もあります。

Output
Importing GPG key 0x6D745A60: Userid : "Release Engineering <[email protected]>" Fingerprint: 7051 C470 A929 F454 CEBE 37B7 15AF 5DAC 6D74 5A60 From : /etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial Is this ok [y/N]:

入る y 次に、Enterキーをもう一度押します。

これで、Javaが正常にインストールされているはずです。 これを確認するために、実行することができます java -version、ご使用の環境で現在使用可能なJavaのバージョンを確認するには:

  1. java -version

注:ほとんどの場合、コマンドライン引数の前には、1文字の引数の場合は1つのダッシュ、フルワードの引数の場合は2つのダッシュが付きます。 Javaは、すべての引数に1つのダッシュを使用するという別の規則に従います。この場合、 -version.

Output
openjdk version "1.8.0_322" OpenJDK Runtime Environment (build 1.8.0_322-b06) OpenJDK 64-Bit Server VM (build 25.322-b06, mixed mode)

Javaの命名規則とLinuxパッケージの命名規則の間の相互作用は、多少混乱する可能性があります。 このチュートリアルの前半で、開発用の完全なJDK環境とJavaアプリケーションを実行するためのJRE環境の違いを明確にしました。 OpenJDKはJavaのオープンソースディストリビューションの名前ですが、実際にインストールしたのはOpenJDKJREだけです。 完全なOpenJDKJDK をインストールするには、対応するパッケージを次のようにインストールする必要があります。 -devel その名前に追加されます。 これは、他のプログラミング環境の開発パッケージの一般的な規則であり、Javaもこれに従いますが、ここでは用語が厄介に重複しています。

以前と同様に、インストールできます java-devel デフォルトバージョンを取得するか、指定します java-1.8.0-openjdk-devel:

  1. sudo yum install java-devel
Output
DigitalOcean Droplet Agent 63 kB/s | 3.3 kB 00:00 Dependencies resolved. ======================================================================================== Package Arch Version Repository Size ======================================================================================== Installing: java-1.8.0-openjdk-devel x86_64 1:1.8.0.322.b06-2.el8_5 appstream 9.8 M Transaction Summary ======================================================================================== Install 1 Package Total download size: 9.8 M Installed size: 41 M Is this ok [y/N]:

このパッケージをインストールすると、特定のバージョンの非互換性がないJavaソフトウェアをコンパイルして実行できる完全なOpenJDK環境ができあがります。 次のセクションでは、他のバージョンのJavaをインストールして管理します。

ステップ2–他のOpenJDKリリースのインストール

最近、OpenJDKは、Oracle Javaリリースとより密接に追跡するために、バージョン番号付けスキームを変更しました。 新しいバージョンのOpenJDKをインストールするには、次のようにパッケージ名にバージョン番号を指定できます。 1.8.0. たとえば、OpenJDK 17をインストールするには、次のことができます。 yum install java-17-openjdk:

  1. sudo yum install java-17-openjdk
Output
Last metadata expiration check: 0:03:36 ago on Tue 22 Feb 2022 05:42:44 PM UTC. Dependencies resolved. ======================================================================================== Package Arch Version Repository Size ======================================================================================== Installing: java-17-openjdk x86_64 1:17.0.2.0.8-4.el8_5 appstream 244 k Installing dependencies: adwaita-cursor-theme noarch 3.28.0-2.el8 appstream 646 k adwaita-icon-theme noarch 3.28.0-2.el8 appstream 11 M at-spi2-atk x86_64 2.26.2-1.el8 appstream 88 k at-spi2-core x86_64 2.28.0-1.el8 appstream 168 k colord-libs x86_64 1.4.2-1.el8 appstream 234 k java-17-openjdk-headless x86_64 1:17.0.2.0.8-4.el8_5 appstream 41 M lcms2 x86_64 2.9-2.el8 appstream 163 k …

以前と同様に、追加することで完全なJDK環境をインストールできます -devel パッケージ名に。 ただし、この後、実行 java プログラムは、デフォルトで以前にインストールしたOpenJDK 1.8.0バージョンを引き続き使用します。これは、実行することで確認できます。 java -version また:

  1. java -version
Output
openjdk version "1.8.0_322" OpenJDK Runtime Environment (build 1.8.0_322-b06) OpenJDK 64-Bit Server VM (build 25.322-b06, mixed mode)

次のステップでは、インストールされているバージョンのJavaを管理します。

ステップ3–デフォルトのJavaバージョンを設定する

複数のバージョンのJavaをインストールした場合は、1つをデフォルトとして設定することをお勧めします(つまり、 ユーザーが実行したときに実行されるもの java 指図)。 さらに、一部のアプリケーションでは、使用するJavaのインストールを見つけるために特定の環境変数を設定する必要があります。

The alternatives シンボリックリンクを介してデフォルトコマンドを管理するcommandを使用して、デフォルトのJavaバージョンを選択できます。 によって管理できるJavaの利用可能なバージョンを一覧表示するには alternatives、 使用する alternatives –config java:

  1. sudo alternatives --config java

出力には、インストールしたJavaの両方のバージョンがリストされているはずです。

output
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.322.b06-2.el8_5.x86_64/jre/bin/java) 2 java-17-openjdk.x86_64 (/usr/lib/jvm/java-17-openjdk-17.0.2.0.8-4.el8_5.x86_64/bin/java) Enter to keep the current selection[+], or type selection number:

選択番号を入力して、どれを選択するか java デフォルトでは実行可能ファイルを使用する必要があります。 システム上の必要なシンボリックリンクを再配置して、 java コマンドは、正しいライブラリのセットを指します。 必要に応じてこのコマンドを再実行でき、 java -version それに応じて変更する必要があります:

  1. java -version
Output
openjdk version "17.0.2" 2022-01-18 LTS OpenJDK Runtime Environment 21.9 (build 17.0.2+8-LTS) OpenJDK 64-Bit Server VM 21.9 (build 17.0.2+8-LTS, mixed mode, sharing)

多くのJavaアプリケーションも JAVA_HOME また JRE_HOME どの環境変数を決定するか java 使用する実行可能ファイル。

たとえば、Javaをにインストールした場合 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-2.el8_5.x86_64/jre/bin (すなわち 君の java 実行可能ファイルは次の場所にあります <^>(/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-2.el8_5.x86_64/jre/bin/java)、あなたはあなたを設定することができます JAVA_HOME 次のようなbashシェルまたはスクリプトの環境変数:

  1. export JAVA_HOME=(/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-2.el8_5.x86_64/jre

注: JAVA_HOME 環境変数は、Javaインストールへのパスをで終わるように設定することを優先します /jre ディレクトリ。 この規則は変数ごとに変わる可能性があるため、変更を行うときは例を注意深く確認することをお勧めします。

お望みならば JAVA_HOME システム上のすべてのユーザーにデフォルトで設定するには、前の行をに追加します /etc/environment ファイル。 を使用してファイルに追加できます echo>> シェルリダイレクト、編集の必要性を回避するため /etc/environment 次のコマンドを実行して、ファイルを直接作成します。

  1. sudo sh -c "echo export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-2.el8_5.x86_64/jre >> /etc/environment"

次のステップでは、OpenJDKバージョンと一緒にOracle独自のJavaをインストールします。

ステップ4–OracleJavaのインストール

ガイドのこのセクションでは、この記事の執筆時点でこれらのパッケージの最新リリースであるOracle Java JREおよびJDK(64ビット)をインストールする方法を示します。

注:このページの対話型端末を使用している場合、OracleJavaをダウンロードして環境にインストールすることはできません。

このセクション全体で、 wget OracleJavaソフトウェアパッケージをダウンロードするコマンド。 wget Linuxディストリビューションにはデフォルトで含まれていない可能性があるため、以下を実行してインストールする必要があります。

  1. sudo yum install wget

Oracle Javaをインストールする前に、含まれている手順の1つであるJavaSEのOracleBinary CodeLicenseAgreementに同意する必要があります。

注: Oracle Javaをインストールするには、 Oracle Javaダウンロードページに移動し、ライセンス契約に同意して、適切なLinuxx86のダウンロードリンクをコピーする必要があります。 .rpm パッケージ。 の強調表示された部分の代わりに、コピーしたダウンロードリンクを使用してください wget 指図。

ホームディレクトリに移動し、次のコマンドを使用してOracleJavaRPMをダウンロードします。

  1. cd ~
  2. wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.rpm"

次に、RPMをインストールします yum localinstall (別のリリースをダウンロードした場合は、ここでファイル名に置き換えてください):

  1. sudo yum localinstall jdk-17_linux-x64_bin.rpm

確認プロンプトで、次のように入力します y 次にEnterキーを押して、インストールを続行します。

以前にダウンロードしたアーカイブファイルを削除できます。

  1. rm ~/jdk-17_linux-x64_bin.rpm

これで、を再実行できます alternatives コマンドを実行すると、OracleJavaを使用するための3番目のオプションが表示されます。

  1. sudo alternatives --config java
output
There are 3 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.322.b06-2.el8_5.x86_64/jre/bin/java) + 2 java-17-openjdk.x86_64 (/usr/lib/jvm/java-17-openjdk-17.0.2.0.8-4.el8_5.x86_64/bin/java) * 3 /usr/java/jdk-17.0.2/bin/java Enter to keep the current selection[+], or type selection number:

ユースケースに応じて、利用可能なバージョンのJavaをインストールして実行するには、このチュートリアルの手順で十分です。

結論

このチュートリアルでは、Javaを使用して複数のバージョンのJavaをインストールおよび管理しました。 yum パッケージマネージャー、 alternatives コマンド、および環境変数。 これらはすべてLinux環境管理の基本的な側面であり、Javaは多くの異なるバージョンがあるため、それらを操作するための特に良い例を提供します。

次に、他のコンテキストでJavaを使用する方法を学びたいと思うかもしれません。