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

大丈夫そう。イイネ!

以上。

Qodo Takeover

Introducing Qodo Gen 1.0: Transform Your Workflow with Agentic AI

Rather than just generating snippets, our agents understand your entire project context, can make decisions, use tools, and carry out tasks autonomously.

Read full post →

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay