Ubuntu 18.04で「apt」を使用してJavaをインストールする方法

著者は、Write for DOnationsプログラムの一部として100ドルの寄付を受け取るためにOpen Internet/Free Speech Fundを選択しました。

前書き

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

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

前提条件

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

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

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

このパッケージは、OpenJDK 10または11をインストールします。

  • 2018年9月より前に、これによりOpenJDK 10がインストールされます。

  • 2018年9月以降、これによりOpenJDK 11がインストールされます。

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

sudo apt update

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

java -version

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

OutputCommand 'java' not found, but can be installed with:

apt install default-jre
apt install openjdk-11-jre-headless
apt install openjdk-8-jre-headless
apt install openjdk-9-jre-headless

次のコマンドを実行してOpenJDKをインストールします。

sudo apt install default-jre

このコマンドは、Java Runtime Environment(JRE)をインストールします。 これにより、ほぼすべてのJavaソフトウェアを実行できます。

以下を使用してインストールを検証します。

java -version

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

Outputopenjdk version "10.0.1" 2018-04-17
OpenJDK Runtime Environment (build 10.0.1+10-Ubuntu-3ubuntu1)
OpenJDK 64-Bit Server VM (build 10.0.1+10-Ubuntu-3ubuntu1, mixed mode)

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

sudo apt install default-jdk

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

javac -version

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

Outputjavac 10.0.1

次に、インストールするOpenJDKバージョンの指定を見てみましょう。

OpenJDKの特定のバージョンのインストール

デフォルトのOpenJDKパッケージをインストールできますが、OpenJDKの異なるバージョンをインストールすることもできます。

OpenJDK 8

Java 8は現在の長期サポートバージョンであり、まだ広くサポートされていますが、パブリックメンテナンスは2019年1月で終了します。 OpenJDK 8をインストールするには、次のコマンドを実行します。

sudo apt install openjdk-8-jdk

これがインストールされていることを確認してください

java -version

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

Outputopenjdk version "1.8.0_162"
OpenJDK Runtime Environment (build 1.8.0_162-8u162-b12-1-b12)
OpenJDK 64-Bit Server VM (build 25.162-b12, mixed mode)

JREのみをインストールすることもできます。これは、sudo apt install openjdk-8-jreを実行することで実行できます。

OpenJDK 10/11

Ubuntuのリポジトリには、Java 10または11のいずれかをインストールするパッケージが含まれています。 2018年9月より前に、このパッケージはOpenJDK 10をインストールします。 Java 11がリリースされると、このパッケージはJava 11をインストールします。

OpenJDK 10/11をインストールするには、次のコマンドを実行します。

sudo apt install openjdk-11-jdk

JREのみをインストールするには、次のコマンドを使用します。

sudo apt install openjdk-11-jre

次に、オラクルの公式JDKおよびJREをインストールする方法を見てみましょう。

Oracle JDKのインストール

Oracleが配布する公式バージョンであるOracle JDKをインストールする場合は、使用するバージョンの新しいパッケージリポジトリを追加する必要があります。

最新のLTSバージョンであるJava 8をインストールするには、最初にパッケージリポジトリを追加します。

sudo add-apt-repository ppa:webupd8team/java

リポジトリを追加すると、次のようなメッセージが表示されます。

output Oracle Java (JDK) Installer (automatically downloads and installs Oracle JDK8). There are no actual Jav
a files in this PPA.

Important -> Why Oracle Java 7 And 6 Installers No Longer Work: http://www.webupd8.org/2017/06/why-oracl
e-java-7-and-6-installers-no.html

Update: Oracle Java 9 has reached end of life: http://www.oracle.com/technetwork/java/javase/downloads/j
dk9-downloads-3848520.html

The PPA supports Ubuntu 18.04, 17.10, 16.04, 14.04 and 12.04.

More info (and Ubuntu installation instructions):
- for Oracle Java 8: http://www.webupd8.org/2012/09/install-oracle-java-8-in-ubuntu-via-ppa.html

Debian installation instructions:
- Oracle Java 8: http://www.webupd8.org/2014/03/how-to-install-oracle-java-8-in-debian.html

For Oracle Java 10, see a different PPA: https://www.linuxuprising.com/2018/04/install-oracle-java-10-in-ubuntu-or.html

More info: https://launchpad.net/~webupd8team/+archive/ubuntu/java
Press [ENTER] to continue or Ctrl-c to cancel adding it.

ENTERを押して続行します。 次に、パッケージリストを更新します。

sudo apt update

パッケージリストが更新されたら、Java 8をインストールします。

sudo apt install oracle-java8-installer

システムはOracleからJDKをダウンロードし、ライセンス契約に同意するように求めます。 契約に同意すると、JDKがインストールされます。

次に、使用するJavaのバージョンを選択する方法を見てみましょう。

Javaの管理

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

sudo update-alternatives --config java

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

OutputThere are 3 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                            Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1101      auto mode
  1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1101      manual mode
  2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      manual mode
  3            /usr/lib/jvm/java-8-oracle/jre/bin/java          1081      manual mode

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 3 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                            Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1101      auto mode
  1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1101      manual mode
  2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      manual mode
  3            /usr/lib/jvm/java-8-oracle/jre/bin/java          1081      manual mode

Press  to keep the current choice[*], or type selection number:

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

  1. OpenJDK 11は/usr/lib/jvm/java-11-openjdk-amd64/bin/java.にあります

  2. OpenJDK 8は/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/javaにあります。

  3. Oracle Java 8は/usr/lib/jvm/java-8-oracle/jre/bin/javaにあります。

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

sudo nano /etc/environment

このファイルの最後に次の行を追加し、強調表示されたパスをコピーした独自のパスに置き換えてください。

/etc/environment

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

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

ファイルを保存し、エディターを終了します。

次に、このファイルをリロードして、現在のセッションに変更を適用します。

source /etc/environment

環境変数が設定されていることを確認します。

echo $JAVA_HOME

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

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

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

結論

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