やりたいこと
- Ubuntu Linuxで、OpenJDK 11を使いたい
- パッケージ管理したいので、
apt
で導入したい
TL;DR
更新
2019年4月に、Ubuntu Linux 18.04 LTSでも、OpenJDK 11がapt
でインストールできるようになりました。
以降は、過去の情報になります。
- 2018/11/19現在、Ubuntu Linux 18.10(Cosmic)であれば、
openjdk-11-jdk
でOpenJDK 11をインストール可能 - Ubunutu Linux 18.04 LTS(Bionic)の場合…
-
apt
でのインストールを諦めない場合 -
apt
を諦める場合- sdkmanやAdoptOpenJDKなど、素直に他の選択肢を使う
-
対象のUbuntu Linuxのバージョン
- 18.04 LTS以降
Ubuntu Linux 18.10(Cosmic)の場合
なんの問題もなくOpenJDK 11が入ります。
## OSバージョン
$ cat /etc/os-release
NAME="Ubuntu"
VERSION="18.10 (Cosmic Cuttlefish)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.10"
VERSION_ID="18.10"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=cosmic
UBUNTU_CODENAME=cosmic
## OpenJDK 11インストール
$ sudo apt install openjdk-11-jdk
$ java -version
openjdk version "11.0.1" 2018-10-16
OpenJDK Runtime Environment (build 11.0.1+13-Ubuntu-2ubuntu1)
OpenJDK 64-Bit Server VM (build 11.0.1+13-Ubuntu-2ubuntu1, mixed mode, sharing)
問題(Ubuntu Linux 18.04 LTS(Bionic)の場合)
Ubuntu Linux 18.04 LTSの場合、openjdk-11-jdk
をapt
でインストールすると、以下のような状態になります。
## OSのバージョン
$ cat /etc/os-release
NAME="Ubuntu"
VERSION="18.04 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic
## OpenJDK 11インストール
$ sudo apt install openjdk-11-jdk
$ java -version
openjdk version "10.0.2" 2018-07-17
OpenJDK Runtime Environment (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.3)
OpenJDK 64-Bit Server VM (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.3, mixed mode)
openjdk-11-jdk
としたにも関わらず、OpenJDK 10がインストールされます。
これは、Ubuntu Linux 18.04 LTSのリリース時点でOpenJDK 11がリリースされていないため、OpenJDK 10をデフォルトにするようにしておき、後から差し替えるつもりのようです。
ですが、現時点でOpenJDK 11がリリースされてしばらく経過していますが、まだOpenJDK 10のまま、切り替えられていない模様。
では、Ubuntu Linux 18.04 LTSでapt
でOpenJDK 11をインストールできないのかというと、どうしても…ということであればPPAを使うことでインストールできます。
“PPA for OpenJDK uploads (restricted)” team
以下、コマンド。
$ sudo add-apt-repository ppa:openjdk-r/ppa
$ sudo apt update
$ sudo apt install openjdk-11-jdk
やたら時間がかかるうえに、ちょっと古い、しかも謎なOpenJDK 11がインストールされます。
$ sudo apt install openjdk-11-jdk^C
$ java -version
openjdk version "11" 2018-09-25
OpenJDK Runtime Environment (build 11+24-Ubuntu-118.04)
OpenJDK 64-Bit Server VM (build 11+24-Ubuntu-118.04, mixed mode, sharing)
現時点だと、どうしてもUbuntu Linux 18.04 LTSでapt
でOpenJDK 11をインストールする場合は、こういう手段になります。
か、もう少し待つか、Ubuntu Linux 18.10にアップグレードするかですね。
Ubuntu Linux 18.04 LTSを使いつつ、apt
でのインストールを諦める場合
以下を参考にしつつ、AdoptOpenJDKなどをインストールしましょう。
Introduction to Java 11: Support and JVM Features #jjug
sdkmanでインストールしてもいいでしょう。
どうする?
個人的には、Ubuntu Linux 18.04 LTSのapt
リポジトリにバックポートされるのを待つ所存。
参考情報
openjdk-lts 11.0.1+13-2ubuntu1 source package in Ubuntu
“PPA for OpenJDK uploads (restricted)” team
Anyone know when openjdk-11-jdk packages in Ubuntu Bionic / Cosmic Will Actually Point to Java 11?