Tutorial

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

JavaUbuntu 20.04

はじめに

JavaとJVM(Javaの仮想マシン)は、TomcatJettyGlassfishCassandraJenkinsなど、さまざまなソフトウェアに必要です。

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

前提条件

このチュートリアルを実行するには、次のものが必要です。

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

Javaをインストールする最も簡単なオプションは、Ubuntuに含まれているバージョンを使用することです。デフォルトでは、Ubuntu 20.04には、JREとJDKのオープンソースバージョンであるOpen JDK 11が含まれています。

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

  • 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-72, or sudo apt install openjdk-11-jre-headless # version 11.0.7+10-3ubuntu1 sudo apt install openjdk-13-jre-headless # version 13.0.3+3-1ubuntu2 sudo apt install openjdk-14-jre-headless # version 14.0.1+7-1ubuntu1 sudo apt install openjdk-8-jre-headless # version 8u252-b09-1ubuntu1

次のコマンドを実行して、デフォルトのJava Runtime Environment (JRE) をインストールします。これにより、OpenJDK 11からJREがインストールされます。

  • sudo apt install default-jre

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

次を使用して、インストールを確認します。

  • java -version

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

Output
openjdk version "11.0.7" 2020-04-14 OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-3ubuntu1) OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-3ubuntu1, mixed mode, sharing)

特定のJavaベースのソフトウェアをコンパイルして実行するには、JREに加えて、Java Development Kit (JDK) が必要になる場合があります。JDKをインストールするには、次のコマンドを実行します。これにより、JREもインストールされます。

  • sudo apt install default-jdk

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

  • javac -version

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

Output
javac 11.0.7

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

Oracle JDK 11をインストールする

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

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

次の図に示すように、Focalのパッケージを特定します。

Ubuntu 2.04インストーラのパッケージ

このイメージでは、スクリプトのバージョンは11.0.7です。この場合、Oracle JDK11.0.7が必要です。このページから何もダウンロードする必要はありません。インストールスクリプトをaptからダウンロードします。

その後、ダウンロードページにアクセスして、必要なものと一致するバージョンを探します。

Oracle Java 11

JDKダウンロードボタンをクリックすると、使用可能なバージョンを示す画面が表示されます。Linuxの.tar.gzパッケージをクリックします。

Linux のダウンロード

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

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

  • scp Downloads/jdk-11.0.7_linux-x64_bin.tar.gz sammy@your_server_ip:~

ファイルアップロードが完了したら、サーバーに戻り、OracleのJavaをインストールするのに役立つサードパーティーのリポジトリを追加します。

software-properties-commonパッケージをインストールします。これにより、add-apt-repositoryコマンドがシステムに追加されます。

  • sudo apt install software-properties-common

次に、インストールしようとしているソフトウェアの確認に使用する署名キーをインポートします。

  • sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EA8CACC073C3DB2A

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

Output
gpg: key EA8CACC073C3DB2A: public key "Launchpad PPA for Linux Uprising" imported gpg: Total number processed: 1 gpg: imported: 1

次に、add-apt-repositoryコマンドを使用して、レポジトリをパッケージソースのリストに追加します。

  • sudo add-apt-repository ppa:linuxuprising/java

次のメッセージが表示されます。

Output
Oracle Java 11 (LTS) and 12 installer for Ubuntu, Linux Mint and Debian. Java binaries are not hosted in this PPA due to licensing. The packages in this PPA download and install Oracle Java 11, so a working Internet connection is required. The packages in this PPA are based on the WebUpd8 Oracle Java PPA packages: https://launchpad.net/~webupd8team/+archive/ubuntu/java Created for users of https://www.linuxuprising.com/ Installation instructions (with some tips), feedback, suggestions, bug reports etc.: . . . Press [ENTER] to continue or ctrl-c to cancel adding it

ENTERを押して、インストールを継続します。no valid OpenPGP data foundというメッセージが表示される場合がありますが、これは無視してかまいません。

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

  • 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.7_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をインストールした場合、出力は次のようになります。

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

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

JAVA_HOME環境変数を設定する

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

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

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

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

  1. OpenJDK 11は、/usr/lib/jvm/java-11-openjdk-amd64/bin/javaにあります。
  2. Oracle Javaは、/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で実行されるソフトウェアをインストールできます。

Creative Commons License