著者は、Write for DOnationsプログラムの一部として100ドルの寄付を受け取るためにOpen Internet/Free Speech Fundを選択しました。
前書き
前提条件
このチュートリアルを実行するには、次のものが必要です。
-
sudo非rootユーザーとファイアウォールを含むthe Ubuntu 18.04 initial server setup guideチュートリアルに従ってセットアップされた1つのUbuntu18.04サーバー。
デフォルトの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
このコマンドを実行できる他のコマンドには、keytool
、javadoc
、および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:
この場合、インストールパスは次のとおりです。
-
OpenJDK 11は
/usr/lib/jvm/java-11-openjdk-amd64/bin/java.
にあります -
OpenJDK 8は
/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
にあります。 -
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で実行されるソフトウェアをインストールできるようになりました。