導入
このガイドでは、aptを使用してJava Runtime Environment(JRE)とJava Developer Kit(JDK)の様々なバージョンをインストールします。OpenJDKと公式のOracle JDKをインストールします。その後、プロジェクトで使用するバージョンを選択します。完了すると、JDKを使用してソフトウェアを開発したり、Java Runtimeを使用してソフトウェアを実行したりできます。.
前提条件
- Ubuntu 22.04 サーバーは、非ルート sudo ユーザーとファイアウォールを含む、Ubuntu 22.04 初期サーバー セットアップ ガイド チュートリアルに従ってセットアップされました。.
ステップ1 – Javaをインストールする
Javaのインストールには、主に2つのコンポーネントがあります。JDKは、コンパイラやデバッガなど、Java開発に不可欠なソフトウェアツールを提供します。JREは、Javaプログラムを実際に実行するために使用されます。さらに、Javaのインストールには主に2つのオプションがあります。OpenJDKはオープンソースのJava実装であり、Ubuntuにパッケージ化されています。Oracle JDKはJavaのメインバージョンであり、Javaの開発元であるOracleによって完全にメンテナンスされています。.
どちらのバージョンもOracleによって公式に承認されています。どちらもOracleによって開発されていますが、OpenJDKはオープンソースであるため、コミュニティからの貢献度が高いです。しかし、Java 11以降、これらの2つのオプションは機能的に同一になり、Oracleが提供する詳細情報も反映されています。どちらをインストールするかは、状況に適したライセンスを選択する必要があります。また、OpenJDKではJREを個別にインストールするオプションがありますが、OracleJDKには独自のJREがパッケージ化されています。.
オプション1 – デフォルトのJRE/JDKをインストールする
Javaをインストールする一つの選択肢は、Ubuntuにパッケージされているバージョンを使用することです。Ubuntu 22.04には、デフォルトでJREとJDKのオープンソース版であるOpen JDK 11が含まれています。.
OpenJDK Java バージョンをインストールするには、まず apt パッケージ リストを更新します。
sudo apt update次に、Java がすでにインストールされているかどうかを確認します。
java -version現在 Java がインストールされていない場合は、次の出力が表示されます。
Output
Command 'java' not found, but can be installed with:
sudo apt install default-jre # version 2:1.11-72build1, or
sudo apt install openjdk-11-jre-headless # version 11.0.14+9-0ubuntu2
sudo apt install openjdk-17-jre-headless # version 17.0.2+8-1
sudo apt install openjdk-18-jre-headless # version 18~36ea-1
sudo apt install openjdk-8-jre-headless # version 8u312-b07-0ubuntu1OpenJDK 11 から JRE をインストールするには、次のコマンドを実行します。
sudo apt install default-jreJRE を使用すると、ほぼすべての Java ソフトウェアを実行できます。.
インストールを確認します:
java -version次のような出力が得られます。
Output
openjdk version "11.0.14" 2022-01-18
OpenJDK Runtime Environment (build 11.0.14+9-Ubuntu-0ubuntu2)
OpenJDK 64-Bit Server VM (build 11.0.14+9-Ubuntu-0ubuntu2, mixed mode, sharing)特定のJavaベースのソフトウェアをコンパイルして実行するには、JREに加えてJDKが必要になる場合があります。JDKをインストールするには、以下のコマンドを実行し、JREもインストールしてください。
sudo apt install default-jdkJava コンパイラ javac のバージョンをチェックして、JDK がインストールされていることを確認します。
javac -version次の出力が表示されます。
Output
javac 11.0.14次に、公式の Oracle JDK と JRE をインストールする方法を学習します。.
オプション2 – Oracle JDK 11をインストールする
OracleのJavaライセンス契約では、パッケージマネージャーによる自動インストールは許可されていません。Oracleが配布する公式バージョンであるOracle JDKをインストールするには、Oracleアカウントを作成し、手動でJDKをダウンロードして、使用するバージョンの新しいパッケージリポジトリを追加する必要があります。その後、サードパーティのインストールスクリプトを使用してaptコマンドでインストールできます。Oracle JDKにはJREが付属しているため、別途インストールする必要はありません。.
ダウンロードするOracle JDKのバージョンは、インストーラスクリプトのバージョンと一致している必要があります。必要なバージョンを確認するには、oracle-java11-installerページをご覧ください。.
下の図に示すように、Jammy パッケージを見つけます。
この画像では、スクリプトのバージョンは11.0.13です。この場合、Oracle JDK 11.0.13が必要です。ソフトウェアをインストールした時期によってバージョン番号が異なる場合があります。.
このページから何かをダウンロードする必要はありません。インストールスクリプトはapt経由ですぐにダウンロードされます。.
次に、ダウンロード アーカイブにアクセスし、必要なバージョンに一致するバージョンを見つけます。.
このリストから、Linux x64 圧縮アーカイブ tar.gz パッケージを選択します。
Oracleライセンス契約への同意を求めるページが表示されます。ライセンス契約に同意するチェックボックスを選択し、「ダウンロード」ボタンを押してください。ダウンロードが開始されます。ダウンロードを開始する前に、Oracleアカウントへの再ログインが必要になる場合があります。.
ファイルをダウンロードしたら、サーバーに転送する必要があります。ローカルマシンでファイルをサーバーにアップロードします。macOS、Linux、またはWindows Subsystem for Linuxを使用しているWindowsでは、scpコマンドを使用してファイルをsammyユーザーのホームディレクトリに転送します。以下のコマンドは、Oracle JDKファイルをローカルマシンの「ダウンロード」フォルダに保存していることを前提としています。
scp Downloads/jdk-11.0.13_linux-x64_bin.tar.gz sammy@your_server_ip:~ファイルのアップロードが完了したら、サーバーに戻り、Oracle Java のインストールに役立つサードパーティのリポジトリを追加します。.
まず、インストールするソフトウェアを検証するために使用する署名キーを入力します。
sudo gpg --homedir /tmp --no-default-keyring --keyring /usr/share/keyrings/oracle-jdk11-installer.gpg --keyserver keyserver.ubuntu.com --recv-keys EA8CACC073C3DB2A次の出力が表示されます:
Output
gpg: keybox '/usr/share/keyrings/oracle-jdk11-installer.gpg' created
gpg: /tmp/trustdb.gpg: trustdb created
gpg: key EA8CACC073C3DB2A: public key "Launchpad PPA for Linux Uprising" imported
gpg: Total number processed: 1
gpg: imported: 1次に、リポジトリをパッケージ ソース リストに追加します。
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/oracle-jdk11-installer.gpg] https://ppa.launchpadcontent.net/linuxuprising/java/ubuntu jammy main" | sudo tee /etc/apt/sources.list.d/oracle-jdk11-installer.list > /dev/null新しいソフトウェアをインストールできるようにパッケージ リストを更新します。
sudo apt updateインストーラは/var/cache/oracle-jdk11-installer-localでOracle JDKを検索します。このディレクトリを作成し、そこにOracle JDKアーカイブを移動します。
sudo mkdir -p /var/cache/oracle-jdk11-installer-local/
sudo cp jdk-11.0.13_linux-x64_bin.tar.gz /var/cache/oracle-jdk11-installer-local/最後にパッケージをインストールします。
sudo apt install oracle-java11-installer-localインストーラはまずOracleライセンス契約への同意を求めます。同意すると、インストーラはJavaパッケージを抽出してインストールします。.
ここで、使用する Java のバージョンを選択する方法について説明します。.
ステップ2 – Java管理
サーバー上に複数のJavaをインストールできます。コマンドラインでupdate-alternativesコマンドを使用して、デフォルトとして使用するバージョンを設定できます。.
sudo update-alternatives --config javaこのチュートリアルで両方のバージョンの Java をインストールした場合、出力は次のようになります。
Output
There are 2 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 auto mode
1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 manual mode
* 2 /usr/lib/jvm/java-11-oracle/bin/java 1091 manual mode
Press <enter> to keep the current choice[*], or type selection number:デフォルトとして使用する Java バージョン番号を選択するか、ENTER キーを押して現在の設定をそのままにします。.
コンパイラ (javac) などの他の Java コマンドでもこれを行うことができます。
sudo update-alternatives --config javacこのコマンドを実行できる他のコマンドには、keytool、javadoc、jarsigner などがあります。.
ステップ3 – JAVA_HOME環境変数を設定する
Java を使用して作成された多くのプログラムでは、JAVA_HOME 環境変数を使用して Java インストールの場所を指定します。.
この環境変数を設定するには、まずJavaのインストール場所を指定します。update-alternativesコマンドを使用します。
sudo update-alternatives --config javaこのコマンドは、各 Java インストールとそのインストール パスを表示します。
Output
There are 2 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 auto mode
1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 manual mode
* 2 /usr/lib/jvm/java-11-oracle/bin/java 1091 manual mode
Press <enter> to keep the current choice[*], or type selection number:この場合、インストール パスは次のようになります。
- OpenJDK 11 は /usr/lib/jvm/java-11-openjdk-amd64/bin/java にあります。.
- Oracle Java は /usr/lib/jvm/java-11-oracle/jre/bin/java にあります。.
ご希望のインストールディレクトリからパスをコピーします。次に、nano またはお好みのテキストエディタを使って /etc/environment を開きます。
sudo nano /etc/environmentこのファイルの最後に次の行を追加します。強調表示されたパスをコピーしたパスに置き換え、パスの /bin 部分を含めないようにしてください。
JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"
このファイルを変更すると、システム上のすべてのユーザーに対して JAVA_HOME パスが設定されます。.
ファイルを保存してエディターを終了します。.
このファイルを再ロードして、現在のセッションに変更を適用します。
source /etc/environment環境変数が設定されていることを確認します。
echo $JAVA_HOME設定したパスが表示されます。
Output
/usr/lib/jvm/java-11-openjdk-amd64他のユーザーは、これらの設定を適用するために、source /etc/environment コマンドを実行するか、ログアウトしてから再度ログインする必要があります。.
結果
このチュートリアルでは、複数のバージョンのJavaをインストールし、それらを管理する方法を学習しました。これで、Tomcat、Jetty、Glassfish、Cassandra、JenkinsなどのJavaで動作するソフトウェアをインストールできるようになりました。.












