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

前書き

JavaとJVM(Java仮想マシン)は広く使用されており、多くの種類のソフトウェアに必要です。 この記事では、apt-getを使用してさまざまなバージョンのJavaをインストールおよび管理するプロセスについて説明します。

前提条件

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

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

Javaをインストールする最も簡単なオプションは、Ubuntuにパッケージ化されたバージョンを使用することです。 具体的には、これにより、最新の推奨バージョンであるOpenJDK 8がインストールされます。

まず、パッケージインデックスを更新します。

sudo apt-get update

次に、Javaをインストールします。 具体的には、このコマンドはJava Runtime Environment(JRE)をインストールします。

sudo apt-get install default-jre

JDK(Java Development Kit)と呼ばれる別のデフォルトJavaインストールがあります。 JDKは通常、Javaプログラムをコンパイルする場合、またはJavaを使用するソフトウェアで特に必要な場合にのみ必要です。

JDKにはJREが含まれているため、JREの代わりにJDKをインストールする場合、ファイルサイズが大きいことを除いて、デメリットはありません。

次のコマンドでJDKをインストールできます。

sudo apt-get install default-jdk

Oracle JDKのインストール

Oracleが配布する公式バージョンであるOracle JDKをインストールする場合は、さらにいくつかの手順を実行する必要があります。

まず、OracleのPPAを追加してから、パッケージリポジトリを更新します。

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update

次に、インストールするバージョンに応じて、次のコマンドのいずれかを実行します。

Oracle JDK 8

これは、執筆時点でのJavaの最新の安定バージョンであり、インストールが推奨されるバージョンです。 これを行うには、次のコマンドを使用します。

sudo apt-get install oracle-java8-installer

Oracle JDK 9

これは開発者向けプレビューであり、一般リリースは2017年3月に予定されています。 セキュリティ上の問題やバグがまだ残っている可能性があるため、このバージョンを使用することはお勧めしません。 official JDK 9 websiteにはJava9に関する詳細情報があります。

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

sudo apt-get install oracle-java9-installer

Javaの管理

1つのサーバーに複数のJavaをインストールできます。 update-alternativesを使用して、コマンドラインで使用するデフォルトのバージョンを構成できます。update-alternativesは、さまざまなコマンドに使用されるシンボリックリンクを管理します。

sudo update-alternatives --config java

出力は次のようになります。 この場合、これは、上記のすべてのJavaバージョンがインストールされている場合の出力です。

出力

There are 5 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                            Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      auto mode
  1            /usr/lib/jvm/java-6-oracle/jre/bin/java          1         manual mode
  2            /usr/lib/jvm/java-7-oracle/jre/bin/java          2         manual mode
  3            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      manual mode
  4            /usr/lib/jvm/java-8-oracle/jre/bin/java          3         manual mode
  5            /usr/lib/jvm/java-9-oracle/bin/java              4         manual mode

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

これで、デフォルトとして使用する番号を選択できます。 これは、コンパイラ(javac)、ドキュメントジェネレータ(javadoc)、JAR署名ツール(jarsigner)などの他のJavaコマンドに対しても実行できます。 次のコマンドを使用して、カスタマイズするコマンドを入力できます。

sudo update-alternatives --config command

JAVA_HOME環境変数の設定

Javaサーバーなどの多くのプログラムは、JAVA_HOME環境変数を使用してJavaのインストール場所を決定します。 この環境変数を設定するには、まずJavaがインストールされている場所を見つける必要があります。 これを行うには、前のセクションと同じコマンドを実行します。

sudo update-alternatives --config java

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

sudo nano /etc/environment

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

/etc/environment

JAVA_HOME="/usr/lib/jvm/java-8-oracle"

ファイルを保存して終了し、再ロードします。

source /etc/environment

次のコマンドを実行して、環境変数が設定されているかどうかをテストできます。

echo $JAVA_HOME

これにより、設定したパスが返されます。

結論

これでJavaがインストールされ、さまざまなバージョンのJavaを管理する方法がわかりました。 Tomcat、Jetty、Glassfish、Cassandra、Jenkinsなど、Javaで実行されるソフトウェアをインストールできるようになりました。