前書き
JavaとJVM(Java仮想マシン)は広く使用されており、多くの種類のソフトウェアに必要です。 この記事では、apt-get
を使用してさまざまなバージョンのJavaをインストールおよび管理するプロセスについて説明します。
前提条件
このチュートリアルを実行するには、次のものが必要です。
-
Ubuntu 16.04サーバー1台。
-
sudoの非rootユーザー。the Ubuntu 16.04 initial server setup guideに従って設定できます。
デフォルトの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で実行されるソフトウェアをインストールできるようになりました。