Javaは、さまざまな種類のアプリケーションやシステムを構築するために使用される最も人気のあるプログラミング言語の1つです。
Javaには、OpenJDKとOracle Javaの2つの異なる実装がありますが、Oracle Javaにいくつかの追加の商用機能があることを除いて、それらの間にほとんど違いはありません。 Oracle Java Licenseは、個人使用や開発使用など、ソフトウェアの非営利目的の使用のみを許可します。 OpenJDKは、Javaプラットフォームのオープンソース実装です。
デフォルトのCentOS8リポジトリには、最新の2つの主要なJava LTSバージョン、Java8とJava11が含まれています。
このチュートリアルでは、CentOS 8に1つ以上のJava(OpenJDK)バージョンをインストールする方法と、代替手段を使用してデフォルトのJavaを設定する方法について説明します。
OpenJDK 11のインストール#
一般的な推奨事項は、最新のJava LTSバージョン(JDK 11)バージョンをインストールすることです。一部のJavaベースのアプリケーションでは、特定のバージョンのJavaが必要になる場合があるため、アプリケーションのドキュメントを参照する必要がある場合があります。
CentOS8にOpenJDK11をインストールするには、rootまたはsudo権限を持つユーザーとして次のコマンドを実行します。
sudo dnf install java-11-openjdk-devel
インストールが完了したら、Javaのバージョンを確認して確認できます。
java -version
出力は次のようになります。
openjdk version "11.0.4" 2019-07-16 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.4+11-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.4+11-LTS, mixed mode, sharing)
それでおしまい! CentOS8システムにJavaが正常にインストールされました。
CentOS 8は、グラフィカルユーザーインターフェイスなしでアプリケーションを実行するために必要な最小限のJavaランタイムを提供するOpenJDKのヘッドレスバージョンもサポートしています(キーボード、マウス、およびディスプレイシステムはサポートされていません)。このバージョンは、依存関係が少なく、システムリソースの使用量が少ないため、サーバーアプリケーションに適しています。
ヘッドレスOpenJDK11タイプのみをインストールするには:
sudo dnf install java-11-openjdk-headless
すでにjava-11-openjdk-devel
をインストールしている場合 、ヘッドレスパッケージは依存関係としてインストールされます。
OpenJDK 8のインストール#
以前のJavaLTSバージョンであるJava8は引き続きサポートされ、広く使用されています。アプリケーションにJava8が必要な場合は、次のコマンドを入力してインストールできます。
sudo dnf install java-1.8.0-openjdk-devel
Javaのバージョンを確認して、インストールを確認します。
java -version
出力は次のようになります。
openjdk version "1.8.0_222"
OpenJDK Runtime Environment (build 1.8.0_222-b10)
OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode)
最小限のJavaランタイムの場合は、java-1.8.0-openjdk-headless
をインストールします。 パッケージ。
CentOSシステムに複数のJavaバージョンをインストールした場合は、代替システムを使用して、java
と入力したときに使用するJavaバージョンを設定できます。 ターミナルで。
デフォルトとして設定されているJavaバージョンを確認するには、次のように入力します。
java -version
デフォルトのバージョンを変更する場合は、alternatives
を使用してください コマンド:
sudo alternatives --config java
出力は次のようになります:
There are 2 programs which provide 'java'.
Selection Command
-----------------------------------------------
1 java-11-openjdk.x86_64 (/usr/lib/jvm/java-11-openjdk-11.0.4.11-0.el8_0.x86_64/bin/java)
*+ 2 java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el8_0.x86_64/jre/bin/java)
Enter to keep the current selection[+], or type selection number:
インストールされているすべてのJavaバージョンのリストが画面に表示されます。デフォルトとして使用するバージョンの番号を入力し、Enter
を押します。 。
デフォルトのjavac
を変更することもできます バージョン:
sudo alternatives --config java
javac
Javaプログラムをコンパイルするためのコマンドユーティリティです。
JAVA_HOME
の設定 環境変数#
JAVA_HOME
環境変数は、一部のJavaアプリケーションで使用され、Javaのインストール場所を決定し、アプリケーションの実行に使用するJavaバージョンを指定します。
JAVA_HOME
を設定するには ユーザーごとに変数を使用して、~/.bashrc
に追加します または、ユーザーがログインしたときに読み込まれるその他の構成ファイル。システム全体の設定については、/etc/profile.d
内のスクリプトを使用してください。 ディレクトリ。
JAVA_HOME
を設定したい場合 OpenJDK 8に、ファイルの最後に次の行を追加します。
JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk"
現在のシェルで変更を有効にするには、ログアウトしてログインするか、source
を使用します。 コマンド:
source /etc/profile.d/java.sh
JAVA_HOME
を確認します 環境変数が正しく設定されました:
echo $JAVA_HOME
出力には、Javaインストールへのパスが表示されます。
/usr/lib/jvm/java-1.8.0-openjdk
JAVA_HOME
を設定することもできます アプリケーション構成、systemdユニットファイル、またはプログラム起動時のコマンドラインで。
たとえば、Java 8を使用してMavenを実行するには、次のように入力します。
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk mvn --version
...
Java version: 1.8.0_222, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el8_0.x86_64/jre
...