Javaは、さまざまなタイプのアプリケーションやシステムを構築するために使用される最も一般的なプログJavaにはOpenJDKとOracle Javaの2つの異なる実装があり、Oracle Javaにはいくつかの商用機能が追加されていることを除いて、それらの間にほとんど違いはありません。 Oracle Java Licensepermitsは、個人的な使用や開発用の使用など、本ソフトウェアの非商業的な使用のみを許可します。 OpenJDKは、Javaプラットフォームのオープンソース実装です。
デフォルトのCentOS8リポジトリには、最新の二つの主要なJava LTSバージョン、Java8とJava11が含まれています。このチュートリアルでは、CentOS8に1つ以上のJava(OpenJDK)バージョンをインストールする方法と、代替手段を使用してデフォルトのJavaを設定する方法を説明します。一般的な推奨事項は、最新のJava LTSバージョン(JDK11)バージョンをインストールすることです。 一部のJavaベースのアプリケーションでは、特定のバージョンのJavaが必要な場合があるため、アプリケーションのドキュメントを参照する必要があります。
CentOS8にOpenJDK11をインストールするには、rootまたはsudo権限を持つユーザーとして次のコマンドを実行します。
sudo dnf install java-11-openjdk-devel
インストールが完了したら、Javaのバージョンを確認して確認できます。
java -version
出力は次のようになります。
java -version
openjdk version "11.0.4" 2019-07-16 LTSOpenJDK 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が正常にインストールされました。
CentOS8は、グラフィカルユーザーインターフェイスなしでアプリケーションを実行するために必要な最小限のJavaランタイムを提供するOpenJDKのヘッドレスバージ このバージョンは、依存関係が少なく、使用するシステムリソースが少ないため、サーバーアプリケーションに適しています。
ヘッドレスOpenJDK11のみをインストールするには、次のように入力します。
sudo dnf install java-11-openjdk-headless
既にjava-11-openjdk-devel
をイOpenJDK8#のインストール
以前のJava LTSバージョンである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ランタイムをインストールします。
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-1.8.0-openjdk-headless
パッケージ。CentOSシステムに複数のJavaバージョンをインストールしている場合は、alternativesシステムを使用して、ターミナルでjava
と入力すると、使用するJavaバージョンを設定デフォルトバージョンとして設定されているJavaバージョンを確認するには、次のように入力します。
java -version
デフォルトバージョンを変更したい場合は、alternatives
コマンドを使用します。
sudo alternatives --config java
出力は以下のようになります:p>
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_HOME
~/.bashrc
/etc/profile.d
ディレクトリ内のスクリプトを使用します。OpenJDK8にJAVA_HOME
を設定したいと仮定すると、ファイルの最後に次の行を追加します。
JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk"
現在のシェルで変更を有効にするには、ログアウトしてログインするか、source
コマンドを使用します。
source /etc/profile.d/java.sh
JAVA_HOME
source
source
source
source
環境変数が正しく設定されました:
echo $JAVA_HOME
出力には、javaインストールへのパスが表示されます:また、アプリケーション構成、systemdユニットファイル、またはプログラムの起動時にコマンドラインでJAVA_HOME
を設定することもできます。
たとえば、Java8を使用して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...
結論#
CentOS8は、dnf
パッケージマネージャーを使用してインストールできるjava8とJava11の二つの主要なJavaバージョンをサポートしています。