Ubuntu 22.04でAptを使用してJavaをインストールする方法

イントロダクション

多くのソフトウェアには、Tomcat、Jetty、Glassfish、Cassandra、Jenkinsなど、JavaとJVM(Javaの仮想マシン)が必要です。

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

Info

デジタルオーシャンのアプリプラットフォームを使用して、GitHub上からフロントエンドアプリケーションを展開してください。アプリのスケーリングについては、デジタルオーシャンにお任せください。

前提条件

このチュートリアルに従うためには、以下が必要です:

  • One Ubuntu 22.04 server set up by following the the Ubuntu 22.04 initial server setup guide tutorial, including a sudo non-root user and a firewall.

ステップ1 — Javaのインストール

Javaのインストールには、主に2つの要素があります。JDKは、コンパイラやデバッガなど、Javaで開発するための基本ソフトウェアツールを提供します。JREは、実際にJavaプログラムを実行するために使用されます。さらに、Javaには2つの主要なインストールオプションがあります。OpenJDKはJavaのオープンソース実装であり、Ubuntuと一緒にパッケージ化されています。Oracle JDKはJavaのオリジナルバージョンであり、Javaの開発元であるOracleによって完全にメンテナンスされています。

これらのバージョンは、いずれもOracleによって公式に認識されています。両方ともOracleによって開発されていますが、OpenJDKはオープンソースの性質によりコミュニティの貢献が加わっています。しかし、Java 11以降は詳細にOracleが説明しているように、両オプションは機能的に同一です。インストールするための選択は、状況に適したライセンスを選ぶことになります。さらに、OpenJDKはJREを別途インストールするオプションがありますが、OracleJDKはそのJREとパッケージ化されています。

オプション1 – デフォルトのJRE / JDKのインストール

Javaをインストールするための1つの方法は、Ubuntuに同梱されているバージョンを使用することです。デフォルトでは、Ubuntu 22.04にはOpen JDK 11が含まれており、これはJREとJDKのオープンソースのバリアントです。

JavaのOpenJDKバージョンをインストールするには、まずaptパッケージインデックスをアップデートしてください。

  1. sudo apt update

 

次に、Javaが既にインストールされているかを確認してください。

  1. 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-0ubuntu1

以下のコマンドを実行して、OpenJDK 11からJREをインストールしてください。

  1. sudo apt install default-jre

 

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

以下のコマンドでインストールが正しく行われたか確認してください。

  1. 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も同時にインストールされます。

  1. sudo apt install default-jdk

 

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

  1. javac -version

 

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

Output

javac 11.0.14

次に、Oracleの公式なJDKとJREのインストール方法を学びます。

オラクルJDK 11をインストールする方法については、オプション2を選択してください。

OracleのJavaのライセンス契約では、パッケージマネージャーを通じての自動インストールは許可されていません。Oracleが公式に配布しているオラクルJDKをインストールするには、Oracleアカウントを作成し、手動でJDKをダウンロードして新しいパッケージリポジトリを追加する必要があります。その後、サードパーティのインストレーションスクリプトのサポートを受けて、aptを使用してインストールすることができます。Oracle JDKにはJREが含まれているため、それを別途インストールする必要はありません。

ダウンロードする必要のあるOracleのJDKのバージョンは、インストーラースクリプトのバージョンに合わせる必要があります。必要なバージョンを確認するためには、oracle-java11-installerのページを訪れてください。

以下の図に示されているように、ジャミーのパッケージを探してください。

Installer package for Ubuntu 22.04

この画像において、スクリプトのバージョンは11.0.13です。この場合、Oracle JDK 11.0.13が必要です。ソフトウェアをインストールするタイミングによって、お使いのバージョン番号は異なる場合があります。

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

次に、アーカイブダウンロードにアクセスし、必要なバージョンと一致するものを見つけてください。

The Oracle Java archive downloads web page where you can find versions of Java that are not the latest release.

このリストからLinux x64の圧縮アーカイブ.tar.gzパッケージを選んでください。

Linux download

オラクルのライセンス契約に同意するかどうかを選択する画面が表示されます。ライセンス契約に同意するためにチェックボックスを選択し、ダウンロードボタンを押してください。ダウンロードが開始されます。ダウンロードが始まる前に、もう一度オラクルのアカウントにログインする必要があるかもしれません。

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

  1. scp Downloads/jdk-11.0.13_linux-x64_bin.tar.gz sammy@your_server_ip:~

 

ファイルのアップロードが完了したら、サーバーに戻って、OracleのJavaをインストールするためのサードパーティのリポジトリを追加してください。

最初に、インストールするソフトウェアを検証するために使用する署名鍵をインポートしてください。

  1. 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

次に、リポジトリをパッケージソースのリストに追加してください。

  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

 

新しいソフトウェアをインストールできるよう、パッケージリストを更新してください。

  1. sudo apt update

 

インストーラーは、/var/cache/oracle-jdk11-installer-localにダウンロードしたOracle JDKを探します。このディレクトリを作成し、Oracle JDKアーカイブをそこに移動してください。

  1. sudo mkdir -p /var/cache/oracle-jdk11-installer-local/
  2. sudo cp jdk-11.0.13_linux-x64_bin.tar.gz /var/cache/oracle-jdk11-installer-local/

 

最後に、パッケージをインストールしてください。

  1. sudo apt install oracle-java11-installer-local

 

インストーラーは最初にOracleのライセンス契約を受け入れるようにあなたに尋ねます。契約を受け入れた後、インストーラーはJavaのパッケージを展開し、インストールします。

今度は、使用したいJavaのバージョンを選択する方法を説明します。

ステップ2 – Javaの管理

一つのサーバーに複数のJavaのインストールを行うことができます。update-alternativesコマンドを使用して、コマンドラインで使用するデフォルトのバージョンを設定することができます。

  1. 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キーを押してください。

他のJavaコマンドでも、コンパイラ(javac)などに対しても、同じように行うことができます。

  1. sudo update-alternatives –config javac

 

このコマンドが実行できる他のコマンドには、keytool、javadoc、およびjarsignerなどがあります。

ステップ3 — JAVA_HOME環境変数の設定

多くのJavaで書かれたプログラムは、Javaのインストール場所を判断するためにJAVA_HOME環境変数を使用します。

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

  1. 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:

In this situation, the installation paths are as stated below:

    1. 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を開いてください。

  1. sudo nano /etc/environment

 

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

/etc/environmentを日本語で言い換えると、以下のようになります。

「/etc/environment」

JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"

このファイルを修正すると、システム上のすべてのユーザーのJAVA_HOMEパスが設定されます。

ファイルを保存してエディタを終了してください。

現在のセッションに変更を適用するために、このファイルを再読み込みしてください。

  1. source /etc/environment

 

環境変数が設定されているか確認してください。

  1. echo $JAVA_HOME

 

設定したパスが表示されます。

Output

/usr/lib/jvm/java-11-openjdk-amd64

他のユーザーは、この設定を適用するために、コマンドsource /etc/environmentを実行するか、ログアウトして再ログインする必要があります。

結論

このチュートリアルでは、Javaの複数のバージョンをインストールし、それらを管理する方法を学びました。これで、Tomcat、Jetty、Glassfish、Cassandra、Jenkinsなど、Java上で動作するソフトウェアをインストールすることができます。

コメントを残す 0

Your email address will not be published. Required fields are marked *