I share how to change openJDK version to 8 from 17.
Environment
- Ubuntu 18.04 LTS that is already installed openJDK 17.
Methods
# Install openjdk 8
$ sudo apt -y update
$ sudo apt -y install openjdk-8-jdk
$ java --version
openjdk 17.0.3 2022-04-19
OpenJDK Runtime Environment (build 17.0.3+7-Ubuntu-0ubuntu0.18.04.1)
OpenJDK 64-Bit Server VM (build 17.0.3+7-Ubuntu-0ubuntu0.18.04.1, mixed mode, sharing)
# Change java version
$ sudo update-java-alternatives --jre -s java-1.8.0-openjdk-amd64
$ sudo update-java-alternatives --jre-headless -s java-1.8.0-openjdk-amd64
$ sudo update-java-alternatives -s java-1.8.0-openjdk-amd64
update-alternatives: エラー: mozilla-javaplugin.so の alternatives がありません
update-java-alternatives: plugin alternative does not exist: /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/IcedTeaPlugin.so
### Occured error. But no problem since it work well.
# Check java version
$ sudo update-alternatives --config java
alternative java (/usr/bin/java を提供) には 2 個の選択肢があります。
選択肢 パス 優先度 状態
------------------------------------------------------------
0 /usr/lib/jvm/java-17-openjdk-amd64/bin/java 1711 自動モード
1 /usr/lib/jvm/java-17-openjdk-amd64/bin/java 1711 手動モード
* 2 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 手動モード
現在の選択 [*] を保持するには <Enter>、さもなければ選択肢の番号のキーを押してください:
# Check java command to 8
$ ls -ltr /etc/alternatives/java*
lrwxrwxrwx 1 root root 53 6月 11 22:39 /etc/alternatives/javah.1.gz -> /usr/lib/jvm/java-8-openjdk-amd64/man/man1/javah.1.gz
lrwxrwxrwx 1 root root 43 6月 11 22:39 /etc/alternatives/javah -> /usr/lib/jvm/java-8-openjdk-amd64/bin/javah
lrwxrwxrwx 1 root root 56 6月 11 22:53 /etc/alternatives/java.1.gz -> /usr/lib/jvm/java-8-openjdk-amd64/jre/man/man1/java.1.gz
lrwxrwxrwx 1 root root 46 6月 11 22:53 /etc/alternatives/java -> /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
lrwxrwxrwx 1 root root 53 6月 11 22:53 /etc/alternatives/javac.1.gz -> /usr/lib/jvm/java-8-openjdk-amd64/man/man1/javac.1.gz
lrwxrwxrwx 1 root root 43 6月 11 22:53 /etc/alternatives/javac -> /usr/lib/jvm/java-8-openjdk-amd64/bin/javac
lrwxrwxrwx 1 root root 55 6月 11 22:53 /etc/alternatives/javadoc.1.gz -> /usr/lib/jvm/java-8-openjdk-amd64/man/man1/javadoc.1.gz
lrwxrwxrwx 1 root root 45 6月 11 22:53 /etc/alternatives/javadoc -> /usr/lib/jvm/java-8-openjdk-amd64/bin/javadoc
lrwxrwxrwx 1 root root 53 6月 11 22:53 /etc/alternatives/javap.1.gz -> /usr/lib/jvm/java-8-openjdk-amd64/man/man1/javap.1.gz
lrwxrwxrwx 1 root root 43 6月 11 22:53 /etc/alternatives/javap -> /usr/lib/jvm/java-8-openjdk-amd64/bin/javap
# Close terminal and set JAVA_HOME variable
$ export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64
$ export PATH=/usr/lib/jvm/java-1.8.0-openjdk-amd64/bin:$PATH
$ export CLASSPATH=.:/usr/lib/jvm/java-1.8.0-openjdk-amd64/lib
# Check java version
$ java -version
openjdk version "1.8.0_312"
OpenJDK Runtime Environment (build 1.8.0_312-8u312-b07-0ubuntu1~18.04-b07)
OpenJDK 64-Bit Server VM (build 25.312-b07, mixed mode)