jre(実行環境)とjdk(開発環境)の違いもめんどくさいが、verが色々ある。作っているところが変わったり、ver体系が変わったり。依存して起動しないならまだしも、不安定になることもあるから、それなりに管理しなければならない。で、複数入れて切り替える仕組みが存在する。
切り替える仕組みは/usr/binからのlinkを切り替えるもののようだ。LIBのパスもあった記憶があるが、、、昔は環境変数を切り替えて、実行前に指定できた気もするが、この方法は意識しないで良い代わりに、全体が変わってしまう。併存は可能と思うが、環境変数を変える方法はめんどくさい。
まず、aptで入れられる、jreの種類。Ubuntu22.04 (2025・05・11現在) apt list |grep jre/で採取できる。defaultは openjdk-11にリンクされている。長期安定バージョンで多く使われているそうな。最新はopenjdk-21と言うことらしい。
default-jre/jammy 2:1.11-72build2 amd64
default-jre/jammy 2:1.11-72build2 i386
openjdk-11-jre/jammy-updates,jammy-security 11.0.27+6~us1-0ubuntu1~22.04 amd64
openjdk-11-jre/jammy-updates,jammy-security 11.0.27+6~us1-0ubuntu1~22.04 i386
openjdk-17-jre/jammy-updates,jammy-security 17.0.15+6~us1-0ubuntu1~22.04 amd64
openjdk-17-jre/jammy-updates,jammy-security 17.0.15+6~us1-0ubuntu1~22.04 i386
openjdk-18-jre/jammy-updates,jammy-security 18.0.2+9-2~22.04 amd64
openjdk-18-jre/jammy-updates,jammy-security 18.0.2+9-2~22.04 i386
openjdk-19-jre/jammy-updates,jammy-security 19.0.2+7-0ubuntu3~22.04 amd64
openjdk-19-jre/jammy-updates,jammy-security 19.0.2+7-0ubuntu3~22.04 i386
openjdk-21-jre/jammy-updates,jammy-security,now 21.0.7+6~us1-0ubuntu1~22.04 amd64
openjdk-21-jre/jammy-updates,jammy-security 21.0.7+6~us1-0ubuntu1~22.04 i386
openjdk-8-jre/jammy-updates,jammy-security 8u452-ga~us1-0ubuntu1~22.04 amd64
openjdk-8-jre/jammy-updates,jammy-security 8u452-ga~us1-0ubuntu1~22.04 i386
で切り替え方。他の人が作った jreもきちんとパッケージされているとそのまま切り替え対象に入るらしい。
Ubuntu LinuxにJavaをインストールする方法
update-alternatives –config javaで番号で選択する。
alternative java (/usr/bin/java を提供) には 2 個の選択肢があります。
選択肢 パス 優先度 状態
------------------------------------------------------------
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-21-openjdk-amd64/bin/java 2111 手動モード
現在の選択 [*] を保持するには <Enter>、さもなければ選択肢の番号のキーを押してください:
パケージされていないものお無理やり組み込むには、
Ubuntu 20.04 Focal Fossa LinuxへのOracle Javaのインストール
update-alternatives –install /usr/bin/java java /usr/lib/jvm/jdk-14/bin/java 1で組み込める。詳細はman update-alternativesで調べると出てくる。外し方も。
コメント