DEV Community

Borikatsu
Borikatsu

Posted on • Edited on

UbuntuにJavaの開発環境構築

Ubuntu に Java(jdk)をインストールする。
バージョン管理は apt の pkg マネージャーに任せる。

会社の PC 設定する時に毎回調べたり、個人 PC の設定忘れがちなのでメモとして。


目次


やること

  1. jdk インストール
  2. 環境変数の設定
  3. バージョン切替

バージョン切替は付録的な話


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)
Enter fullscreen mode Exit fullscreen mode

環境変数の設定

# 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
Enter fullscreen mode Exit fullscreen mode

バージョン切替するとき

# 現在のバージョン
$ 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
Enter fullscreen mode Exit fullscreen mode

切替後の確認

$ 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
Enter fullscreen mode Exit fullscreen mode

大丈夫そう。イイネ!

以上。

Top comments (0)