これは、なにをしたくて書いたもの?
OpenJDK 21が2023年9月19日にリリースされました。
いつものことながら、Ubuntu Linuxの現行LTSで使えるようになるまでは時間がかかるので待っていたのですが、気づくとリリースされて
いたのでインストールしておきます。
対象は、Ubuntu Linux 22.04 LTSです。
OpenJDK 21パッケージ
Ubuntu LinuxでのOpenJDK 21パッケージはこちら。
Ubuntu Linux 22.04 LTSでは11月末に使えるようになっていたようです。
現時点で、OpenJDK 21がインストール可能なUbuntu Linuxは以下のようです。
- Mantic Minotaur(23.10)
- Lunar Lobster (23.04)
- Jammy Jellyfish (22.04 LTS)
そして、Focal Fossa(20.04 LTS)へも入りそうですが、現時点では提案段階です。
環境
今回の環境はこちら。Ubuntu Linux 22.04 LTSです。
$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 22.04.3 LTS Release: 22.04 Codename: jammy $ uname -srvmpio Linux 5.15.0-91-generic #101-Ubuntu SMP Tue Nov 14 13:30:08 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
OpenJDK 21をインストールする
まずはopenjdk-21-jdk
の情報を見てみます。
$ apt show openjdk-21-jdk Package: openjdk-21-jdk Version: 21.0.1+12-2~22.04 Priority: optional Section: universe/java Source: openjdk-21 Origin: Ubuntu Maintainer: OpenJDK Team <openjdk-21@packages.debian.org> Bugs: https://bugs.launchpad.net/ubuntu/+filebug Installed-Size: 55.3 kB Provides: java-compiler, java-sdk (= 21), java10-sdk, java11-sdk, java12-sdk, java13-sdk, java14-sdk, java15-sdk, java16-sdk, java17-sdk, java18-sdk, java19-sdk, java2-sdk, java20-sdk, java21-sdk, java5-sdk, java6-sdk, java7-sdk, java8-sdk, java9-sdk Depends: openjdk-21-jre (= 21.0.1+12-2~22.04), openjdk-21-jdk-headless (= 21.0.1+12-2~22.04), libc6 (>= 2.34), zlib1g (>= 1:1.1.4) Recommends: libxt-dev Suggests: openjdk-21-demo, openjdk-21-source, visualvm Homepage: https://openjdk.java.net/ Download-Size: 10.9 kB APT-Sources: http://jp.archive.ubuntu.com/ubuntu jammy-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 21に関するパッケージ。
$ apt search openjdk-21 ソート中... 完了 全文検索... 完了 openjdk-21-dbg/jammy-updates 21.0.1+12-2~22.04 amd64 Java runtime based on OpenJDK (debugging symbols) openjdk-21-demo/jammy-updates 21.0.1+12-2~22.04 amd64 Java runtime based on OpenJDK (demos and examples) openjdk-21-doc/jammy-updates,jammy-updates 21.0.1+12-2~22.04 all OpenJDK Development Kit (JDK) documentation openjdk-21-jdk/jammy-updates 21.0.1+12-2~22.04 amd64 OpenJDK Development Kit (JDK) openjdk-21-jdk-headless/jammy-updates 21.0.1+12-2~22.04 amd64 OpenJDK Development Kit (JDK) (headless) openjdk-21-jre/jammy-updates 21.0.1+12-2~22.04 amd64 OpenJDK Java runtime, using Hotspot JIT openjdk-21-jre-headless/jammy-updates 21.0.1+12-2~22.04 amd64 OpenJDK Java runtime, using Hotspot JIT (headless) openjdk-21-jre-zero/jammy-updates 21.0.1+12-2~22.04 amd64 Alternative JVM for OpenJDK, using Zero openjdk-21-source/jammy-updates,jammy-updates 21.0.1+12-2~22.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-17-openjdk-amd64/bin/java /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
全部LTSですね。
では、OpenJDK 21をインストールします。
$ sudo apt install openjdk-21-jdk
OpenJDK 21が増えました。
$ 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-21-openjdk-amd64/bin/java /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
インストールした時点でデフォルトに設定されています。
$ sudo update-alternatives --config java alternative java (/usr/bin/java を提供) には 4 個の選択肢があります。 選択肢 パス 優先度 状態 ------------------------------------------------------------ * 0 /usr/lib/jvm/java-21-openjdk-amd64/bin/java 2111 自動モード 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-21-openjdk-amd64/bin/java 2111 手動モード 4 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 手動モード 現在の選択 [*] を保持するには <Enter>、さもなければ選択肢の番号のキーを押してください: $ sudo update-alternatives --config javac alternative javac (/usr/bin/javac を提供) には 4 個の選択肢があります。 選択肢 パス 優先度 状態 ------------------------------------------------------------ * 0 /usr/lib/jvm/java-21-openjdk-amd64/bin/javac 2111 自動モード 1 /usr/lib/jvm/java-11-openjdk-amd64/bin/javac 1111 手動モード 2 /usr/lib/jvm/java-17-openjdk-amd64/bin/javac 1711 手動モード 3 /usr/lib/jvm/java-21-openjdk-amd64/bin/javac 2111 手動モード 4 /usr/lib/jvm/java-8-openjdk-amd64/bin/javac 1081 手動モード 現在の選択 [*] を保持するには <Enter>、さもなければ選択肢の番号のキーを押してください:
確認。
$ java --version openjdk 21.0.1 2023-10-17 OpenJDK Runtime Environment (build 21.0.1+12-Ubuntu-222.04) OpenJDK 64-Bit Server VM (build 21.0.1+12-Ubuntu-222.04, mixed mode, sharing) $ javac --version javac 21.0.1
これでやっとOpenJDK 21が使えるようになりました。