これは、なにをしたくて書いたもの?
OpenJDK 17が、2021年9月14日にリリースされました。
とはいえ、Ubuntu Linuxで使えるのはしばらく先だろうと思っていたのでそのままにしていたのですが。
気づくと使えるようになっていたので、インストールしておきます。
OpenJDK 17パッケージ
Ubuntu Linux 20.04 LTSでは9月末に使えるようになっていたみたいです。
こちらを今回インストールします。
環境
今回の環境はこちら。Ubuntu Linux 20.04 LTSです。
$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.3 LTS Release: 20.04 Codename: focal $ uname -srvmpio Linux 5.4.0-90-generic #101-Ubuntu SMP Fri Oct 15 20:00:55 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
OpenJDK 17をインストールする
まずは、openjdk-17-jdk
の情報を見てみます。
$ apt show openjdk-17-jdk Package: openjdk-17-jdk Version: 17+35-1~20.04 Priority: optional Section: universe/java Source: openjdk-17 Origin: Ubuntu Maintainer: OpenJDK Team <openjdk-17@packages.debian.org> Bugs: https://bugs.launchpad.net/ubuntu/+filebug Installed-Size: 55.3 kB Provides: java-compiler, java-sdk, java10-sdk, java11-sdk, java12-sdk, java13-sdk, java14-sdk, java15-sdk, java16-sdk, java17-sdk, java2-sdk, java5-sdk, java6-sdk, java7-sdk, java8-sdk, java9-sdk Depends: openjdk-17-jre (= 17+35-1~20.04), openjdk-17-jdk-headless (= 17+35-1~20.04), libc6 (>= 2.2.5) Recommends: libxt-dev Suggests: openjdk-17-demo, openjdk-17-source, visualvm Homepage: https://openjdk.java.net/ Download-Size: 10.5 kB APT-Sources: http://jp.archive.ubuntu.com/ubuntu focal-updates/universe amd64 Packages Description: OpenJDK Development Kit (JDK) OpenJDK is a development environment for building applications, applets, and components using the Java programming language.
openjdk-17
に関するパッケージは、これだけあるみたいです。
$ apt search openjdk-17 ソート中... 完了 全文検索... 完了 msopenjdk-17/focal 17.0.1+12-LTS-1 amd64 OpenJDK Development Kit 17 (JDK) with Hotspot by Microsoft openjdk-17-dbg/focal-updates 17+35-1~20.04 amd64 Java runtime based on OpenJDK (debugging symbols) openjdk-17-demo/focal-updates 17+35-1~20.04 amd64 Java runtime based on OpenJDK (demos and examples) openjdk-17-doc/focal-updates,focal-updates 17+35-1~20.04 all OpenJDK Development Kit (JDK) documentation openjdk-17-jdk/focal-updates 17+35-1~20.04 amd64 OpenJDK Development Kit (JDK) openjdk-17-jdk-headless/focal-updates 17+35-1~20.04 amd64 OpenJDK Development Kit (JDK) (headless) openjdk-17-jre/focal-updates 17+35-1~20.04 amd64 OpenJDK Java runtime, using Hotspot JIT openjdk-17-jre-headless/focal-updates 17+35-1~20.04 amd64 OpenJDK Java runtime, using Hotspot JIT (headless) openjdk-17-jre-zero/focal-updates 17+35-1~20.04 amd64 Alternative JVM for OpenJDK, using Zero openjdk-17-source/focal-updates,focal-updates 17+35-1~20.04 all OpenJDK Development Kit (JDK) source files
現時点で自分の環境にインストールしているOpenJDK。
$ update-alternatives --list java /usr/lib/jvm/java-11-openjdk-amd64/bin/java /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
ここに、OpenJDK 17を追加。
$ sudo apt install openjdk-17-jdk
OpenJDK 17が増えました。
$ update-alternatives --list java /usr/lib/jvm/java-11-openjdk-amd64/bin/java /usr/lib/jvm/java-17-openjdk-amd64/bin/java /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
すでにデフォルトのJavaとして設定されているみたいです。
$ sudo update-alternatives --config java alternative java (/usr/bin/java を提供) には 3 個の選択肢があります。 選択肢 パス 優先度 状態 ------------------------------------------------------------ * 0 /usr/lib/jvm/java-17-openjdk-amd64/bin/java 1711 自動モード 1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 手動モード 2 /usr/lib/jvm/java-17-openjdk-amd64/bin/java 1711 手動モード 3 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 手動モード 現在の選択 [*] を保持するには <Enter>、さもなければ選択肢の番号のキーを押してください:
確認。
$ java --version openjdk 17 2021-09-14 OpenJDK Runtime Environment (build 17+35-Ubuntu-120.04) OpenJDK 64-Bit Server VM (build 17+35-Ubuntu-120.04, mixed mode, sharing)
ちなみに、今回はjava
コマンドのみを対象にしていますが、その他javac
などのコマンドもひとつひとつ
update-alternatives --config
で切り替えていく必要があります。
まあ、しばらくはOpenJDK 11かな…。
$ sudo update-alternatives --config java alternative java (/usr/bin/java を提供) には 3 個の選択肢があります。 選択肢 パス 優先度 状態 ------------------------------------------------------------ * 0 /usr/lib/jvm/java-17-openjdk-amd64/bin/java 1711 自動モード 1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 手動モード 2 /usr/lib/jvm/java-17-openjdk-amd64/bin/java 1711 手動モード 3 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 手動モード 現在の選択 [*] を保持するには <Enter>、さもなければ選択肢の番号のキーを押してください: 1 update-alternatives: /usr/bin/java (java) を提供するためにマニュアルモードで /usr/lib/jvm/java-11-openjdk-amd64/bin/java を使います