Ubuntu 20.04 - OpenJDK 11のインストール、削除、

Ubuntu 20.04にOpenJDK 11をインストールする方法を紹介します。

aptでOpenJDKインストール

まず、次のように aptを更新します。

$ sudo apt-get update && sudo apt-get upgrade

そして、次のように openjdk-11-jdkをインストールします。

$ sudo apt-get install openjdk-11-jdk

インストールが完了したら、次のようにインストールがされたことを確認することができます。

$ java -version
openjdk version "11.0.9.1" 2020-11-04
OpenJDK Runtime Environment (build 11.0.9.1+1-Ubuntu-0ubuntu1.20.04)
OpenJDK 64-Bit Server VM (build 11.0.9.1+1-Ubuntu-0ubuntu1.20.04, mixed mode, sharing)

$ javac -version
javac 11.0.9.1

もしOpenJREのみをインストールしたい場合は、次のようにインストールしてください。

$ sudo apt-get install openjdk-11-jre

環境設定

JAVA_HOMEのシステム変数の設定が必要な場合は、次のように~/.bashrcファイルに以下の内容を追加します。

$ vim ~/.bashrc
# ~/.bashrc
export JAVA_HOME=$(dirname $(dirname $(readlink -f $(which java))))
export PATH=$PATH:$JAVA_HOME/bin

次のコマンドで変更した設定を、現在実行されているシェルに適用することができます。 または、新しいターミナルウィンドウを実行するとします。

$ source ~/.bashrc

次のように JAVA_HOMEが設定されて確認することができます。

$ echo $JAVA_HOME
/usr/lib/jvm/java-11-openjdk-amd64

直接インストール(manually install)

JDK HomepageでOpenJdk 11実行ファイルをダウンロードします。 ファイルはtar.gzで圧縮されており、次のコマンドで解凍する必要があります。

$ tar -xvf openjdk-11_linux-x64_bin.tar.gz
jdk-11/
....

環境設定

javaコマンドを入力したときに実行ファイルが実行されるように接続します。

私の場合、 /usr/lib/jvm/にJava実行ファイルが集まっています。 管理しやすく、 jdk-11フォルダをjava-11-openjdk-amd64という名前に変更して、ここに入れています。

$ sudo cp -r jdk-11 /usr/lib/jvm/java-11-openjdk-amd64

今PATHにOpenJdk 11のパスを追加してご使用下さい。

Javaバージョン管理(Alternatives)

PATHに直接登録しても良いが、私はAlternativesというツールを利用してOpenJdk11を管理しようとします。 Alternativesを使用すると、必要な、Javaのバージョンを簡単に変更することができます。

Alternativesをよく知らないたらUbuntuでPythonのバージョンを変更する方法を参照してください。

Alternativesの原理と使用方法について簡単にまとめています。

私は次のように /usr/bin/javaをalternativeにjavaを設定した状態です。

$ sudo update-alternatives --config java
There are 4 choices for the alternative java (providing /usr/bin/java).

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

次のようにOpenJDK 11をAlternativesに追加することができます。

$ sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1

次のコマンドを入力すると、OpenJDK 11がAlternativesに登録されたのを見ることができ、必要なバージョンを選択してください。

js@js:~/Desktop$ sudo update-alternatives --config java
There are 4 choices for the alternative java (providing /usr/bin/java).

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

私はOpenJDK 11を選択し、次のように変更されたことを確認することができます。

$ java --version
openjdk 11.0.9.1 2020-11-04
OpenJDK Runtime Environment (build 11.0.9.1+1-Ubuntu-0ubuntu1.20.04)
OpenJDK 64-Bit Server VM (build 11.0.9.1+1-Ubuntu-0ubuntu1.20.04, mixed mode, sharing)

OpenJDK削除

次のコマンドでインストールされたOpenJDKを削除することができます。

$ sudo apt-get purge openjdk*

次のように削除されたことを確認することができます。

$ java --version
bash: /usr/bin/java: No such file or directory

参考

codechachaCopyright ©2019 codechacha