Help us understand the problem. What is going on with this article?

Ubuntu Linux 18.04 LTS / 18.10でOpenJDK 11を使いたい

More than 1 year has passed since last update.

やりたいこと

  • Ubuntu Linuxで、OpenJDK 11を使いたい
  • パッケージ管理したいので、aptで導入したい

TL;DR

更新

2019年4月に、Ubuntu Linux 18.04 LTSでも、OpenJDK 11がaptでインストールできるようになりました。

openjdk-lts package

以降は、過去の情報になります。

  • 2018/11/19現在、Ubuntu Linux 18.10(Cosmic)であれば、openjdk-11-jdkでOpenJDK 11をインストール可能
  • Ubunutu Linux 18.04 LTS(Bionic)の場合…
    • aptでのインストールを諦めない場合
      • もう少し待つ
      • ちょっと古くて良ければPPAを使う
      • Ubuntu LinuxのLTSを諦めてよければ、Ubuntu Linux 18.10にアップグレードする
    • aptを諦める場合

対象の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-jdkaptでインストールすると、以下のような状態になります。

## 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 package in Ubuntu

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?

OpenJDK SRU exception

charon
"CROSS THE RUBICON”
https://github.com/charon-r13b
tis
創業40年超のSIerです。
https://www.tis.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした