Ubuntu22.04にAptを使用してJavaをインストールする方法

提供:Dev Guides
移動先:案内検索

序章

TomcatJettyGlassfishCassandraジェンキンス

このガイドでは、aptを使用して、さまざまなバージョンのJava Runtime Environment(JRE)およびJava Developer Kit(JDK)をインストールします。 OpenJDKとOracleの公式JDKをインストールします。 次に、プロジェクトに使用するバージョンを選択します。 終了すると、JDKを使用してソフトウェアを開発したり、Javaランタイムを使用してソフトウェアを実行したりできるようになります。

前提条件

このチュートリアルに従うには、次のものが必要です。

デフォルトのJRE/JDKのインストール

Javaをインストールするための最も簡単なオプションは、Ubuntuにパッケージされているバージョンを使用することです。 デフォルトでは、Ubuntu22.04にはOpenJDK 11が含まれています。これは、JREおよびJDKのオープンソースバリアントです。

このバージョンをインストールするには、最初にパッケージインデックスを更新します。

sudo apt update

次に、Javaがすでにインストールされているかどうかを確認します。

java -version

Javaが現在インストールされていない場合は、次の出力が表示されます。

OutputCommand '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-0ubuntu1

次のコマンドを実行して、デフォルトのJavaランタイム環境(JRE)をインストールします。これにより、OpenJDK11からJREがインストールされます。

sudo apt install default-jre

JREを使用すると、ほぼすべてのJavaソフトウェアを実行できます。

次の方法でインストールを確認します。

java -version

次のような出力が表示されます。

Outputopenjdk 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に加えてJava Development Kit(JDK)が必要になる場合があります。 JDKをインストールするには、次のコマンドを実行します。これにより、JREもインストールされます。

sudo apt install default-jdk

Javaコンパイラであるjavacのバージョンを確認して、JDKがインストールされていることを確認します。

javac -version

次の出力が表示されます。

Outputjavac 11.0.14

次に、Oracleの公式JDKとJREをインストールする方法を見ていきます。

OracleJDK11のインストール

OracleのJavaのライセンス契約では、パッケージマネージャを介した自動インストールは許可されていません。 Oracleが配布する公式バージョンであるOracleJDKをインストールするには、Oracleアカウントを作成し、JDKを手動でダウンロードして、使用するバージョンの新しいパッケージリポジトリを追加する必要があります。 次に、aptを使用して、サードパーティのインストールスクリプトを使用してインストールできます。

ダウンロードする必要のあるOracleのJDKのバージョンは、インストーラスクリプトのバージョンと一致している必要があります。 必要なバージョンを見つけるには、oracle-java11-installerページにアクセスしてください。

次の図に示すように、Jammyのパッケージを見つけます。

この画像では、スクリプトのバージョンは11.0.13です。 この場合、OracleJDK11.0.13が必要になります。 バージョン番号は、ソフトウェアをインストールする時期によって異なる場合があります。

このページから何もダウンロードする必要はありません。 間もなくaptからインストールスクリプトをダウンロードします。

次に、ダウンロードページにアクセスして、必要なバージョンと一致するバージョンを見つけます。

最新リリースではないバージョンが必要な場合は、アーカイブダウンロードで見つけることができます。 Linux用の.tar.gzパッケージをクリックします。

Oracleライセンス契約に同意するように求める画面が表示されます。 チェックボックスを選択してライセンス契約に同意し、ダウンロードボタンを押します。 ダウンロードが始まります。 ダウンロードを開始する前に、Oracleアカウントにもう一度ログインする必要がある場合があります。

ファイルがダウンロードされたら、サーバーに転送する必要があります。 ローカルマシンで、ファイルをサーバーにアップロードします。 Windows Subsystem for Linux を使用するmacOS、Linux、またはWindowsでは、scpコマンドを使用して、ファイルをsammyユーザーのホームディレクトリに転送します。 次のコマンドは、OracleJDKファイルがローカルマシンのDownloadsフォルダに保存されていることを前提としています。

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

次の出力が表示されます。

Outputgpg: 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でダウンロードしたOracleJDKを探します。 このディレクトリを作成し、OracleJDKアーカイブをそこに移動します。

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のバージョンを選択する方法を見ていきます。

Javaの管理

1台のサーバーに複数のJavaをインストールできます。 update-alternativesコマンドを使用して、コマンドラインで使用するデフォルトのバージョンを構成できます。

sudo update-alternatives --config java

このチュートリアルで両方のバージョンのJavaをインストールした場合、出力は次のようになります。

OutputThere 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

このコマンドを実行できる他のコマンドには、keytooljavadoc、およびjarsignerが含まれますが、これらに限定されません。

JAVA_HOME環境変数の設定

Javaを使用して作成された多くのプログラムは、JAVA_HOME環境変数を使用してJavaのインストール場所を決定します。

この環境変数を設定するには、最初にJavaがインストールされている場所を特定します。 update-alternativesコマンドを使用します。

sudo update-alternatives --config java

このコマンドは、Javaの各インストールとそのインストールパスを表示します。

OutputThere 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:

この場合のインストールパスは次のとおりです。

  1. OpenJDK11は/usr/lib/jvm/java-11-openjdk-amd64/bin/java.にあります
  2. OracleJavaは/usr/lib/jvm/java-11-oracle/jre/bin/javaにあります。

ご希望のインストールからパスをコピーします。 次に、nanoまたはお気に入りのテキストエディタを使用して/etc/environmentを開きます。

sudo nano /etc/environment

このファイルの最後に次の行を追加し、強調表示されたパスを自分のコピーしたパスに置き換えてください。ただし、パスのbin/部分は含めないでください。

/ etc / environment

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で実行されるソフトウェアをインストールできます。