Ubuntu に Java(jdk)をインストールする。
バージョン管理は apt の pkg マネージャーに任せる。
会社の PC 設定する時に毎回調べたり、個人 PC の設定忘れがちなのでメモとして。
目次
やること
- jdk インストール
- 環境変数の設定
- バージョン切替
バージョン切替は付録的な話
jdk のインストール
# 提供バージョンの確認
$ sudo apt search openjdk-.*-jdk$
# 利用するバージョンをインストール
## 11と17をインストール
$ sudo apt install -y openjdk-11-jdk openjdk-17-jdk
# インストール確認
$ java --version
openjdk 17.0.8.1 2023-08-24
OpenJDK Runtime Environment (build 17.0.8.1+1-Ubuntu-0ubuntu120.04)
OpenJDK 64-Bit Server VM (build 17.0.8.1+1-Ubuntu-0ubuntu120.04, mixed mode, sharing)
環境変数の設定
# profileに追記
$ echo '# JDK
JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::")
export JAVA_HOME
PATH=$PATH:$JAVA_HOME/bin
export PATH' | tee -a ~/.profile > /dev/null
# 再読み込み
$ source ~/.profile
バージョン切替するとき
# 現在のバージョン
$ java --version
openjdk 17.0.8.1 2023-08-24
OpenJDK Runtime Environment (build 17.0.8.1+1-Ubuntu-0ubuntu120.04)
OpenJDK 64-Bit Server VM (build 17.0.8.1+1-Ubuntu-0ubuntu120.04, mixed mode, sharing)
# 切り替え可能なバージョン
$ sudo update-java-alternatives --list
java-1.11.0-openjdk-amd64 1111 /usr/lib/jvm/java-1.11.0-openjdk-amd64
java-1.17.0-openjdk-amd64 1711 /usr/lib/jvm/java-1.17.0-openjdk-amd64
# 11に切替
$ sudo update-java-alternatives --set java-1.11.0-openjdk-amd64
切替後の確認
$ java --version
openjdk 11.0.20.1 2023-08-24
OpenJDK Runtime Environment (build 11.0.20.1+1-post-Ubuntu-0ubuntu120.04)
OpenJDK 64-Bit Server VM (build 11.0.20.1+1-post-Ubuntu-0ubuntu120.04, mixed mode, sharing)
$ which java
/usr/bin/java
# 関連バイナリ全部切り替わっているか確認
$ ls -l /etc/alternatives/java*
lrwxrwxrwx 1 root root 43 Sep 9 16:58 /etc/alternatives/java -> /usr/lib/jvm/java-11-openjdk-amd64/bin/java
lrwxrwxrwx 1 root root 53 Sep 9 16:58 /etc/alternatives/java.1.gz -> /usr/lib/jvm/java-11-openjdk-amd64/man/man1/java.1.gz
lrwxrwxrwx 1 root root 44 Sep 9 16:58 /etc/alternatives/javac -> /usr/lib/jvm/java-11-openjdk-amd64/bin/javac
lrwxrwxrwx 1 root root 54 Sep 9 16:58 /etc/alternatives/javac.1.gz -> /usr/lib/jvm/java-11-openjdk-amd64/man/man1/javac.1.gz
lrwxrwxrwx 1 root root 46 Sep 9 16:58 /etc/alternatives/javadoc -> /usr/lib/jvm/java-11-openjdk-amd64/bin/javadoc
lrwxrwxrwx 1 root root 56 Sep 9 16:58 /etc/alternatives/javadoc.1.gz -> /usr/lib/jvm/java-11-openjdk-amd64/man/man1/javadoc.1.gz
lrwxrwxrwx 1 root root 44 Sep 9 16:58 /etc/alternatives/javap -> /usr/lib/jvm/java-11-openjdk-amd64/bin/javap
lrwxrwxrwx 1 root root 54 Sep 9 16:58 /etc/alternatives/javap.1.gz -> /usr/lib/jvm/java-11-openjdk-amd64/man/man1/javap.1.gz
大丈夫そう。イイネ!
以上。
Top comments (0)