Javaは業務システムからWebアプリ、Android開発まで幅広く利用されているプログラミング言語です。
本記事では、Linux環境を前提に、OpenJDKの導入方法から、複数バージョンの管理方法までを体系的に解説します。
これからJava開発を始める方はもちろん、Javaのバージョン切り替えで悩んでいる方にも役立つ内容です。
OpenJDKとは?
OpenJDK(Open Java Development Kit)は、Java SEのオープンソース実装です。
- Oracle JDKと互換性が高い
- 無償で利用可能
- 多くのLinuxディストリビューションで標準採用
現在のJava開発では、OpenJDKを利用するのが事実上の標準となっています。
Javaのバージョン体系を理解する
Javaには「LTS(Long Term Support)」と「非LTS」バージョンがあります。
| バージョン | 種別 | 特徴 |
|---|---|---|
| Java 8 | LTS | 依然として利用者が多い |
| Java 11 | LTS | サーバー用途で主流 |
| Java 17 | LTS | 現行の安定推奨版 |
| Java 21 | LTS | 最新LTS(今後の主流) |
業務開発ではLTS版を選択するのが基本です。
OpenJDKのインストール方法(Ubuntu / Debian系)
パッケージ情報の更新
sudo apt update
OpenJDK 17のインストール例
sudo apt install -y openjdk-17-jdk
インストール確認
java -version
出力例
openjdk version "17.0.10" 2024-01-16
OpenJDKのインストール方法(RHEL / Rocky Linux / AlmaLinux)
sudo dnf install -y java-17-openjdk-devel
確認
java -version
複数のJavaバージョンを管理する(update-alternatives)
Linuxでは update-alternatives を使ってJavaのバージョンを切り替えられます。
インストール済みJavaの一覧表示
sudo update-alternatives --config java
出力例
Selection Path
-----------------------------------------------
1 /usr/lib/jvm/java-11-openjdk/bin/java
2 /usr/lib/jvm/java-17-openjdk/bin/java
番号を入力することで、使用するJavaを切り替えられます。
JAVA_HOMEの設定(重要)
多くのビルドツール(Maven / Gradle)は JAVA_HOME を参照します。
Javaのインストール先確認
readlink -f /usr/bin/java
例
/usr/lib/jvm/java-17-openjdk/bin/java
環境変数の設定(bash)
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk
export PATH=$JAVA_HOME/bin:$PATH
永続化する場合は ~/.bashrc または ~/.profile に追記します。
SDKMAN! を使ったJavaバージョン管理(推奨)
より柔軟にJavaを管理したい場合は SDKMAN! が便利です。
SDKMAN!のインストール
curl -s "https://get.sdkman.io" | bash
source ~/.sdkman/bin/sdkman-init.sh
利用可能なJava一覧表示
sdk list java
Java 17(Temurin)のインストール例
sdk install java 17.0.10-tem
バージョン切り替え
sdk use java 11.0.22-tem
プロジェクト単位でJavaを切り替えられる点が大きなメリットです。
Java開発でよく使う周辺ツール
| ツール | 用途 |
|---|---|
| Maven | 依存関係管理・ビルド |
| Gradle | 高速ビルドツール |
| IntelliJ IDEA | Java開発定番IDE |
| Eclipse | 軽量IDE |
Javaのバージョン管理が適切でないと、ビルドエラーの原因になるため注意しましょう。
よくあるトラブルと対処法
java -version と javac -version が違う
which java
which javac
出力先が異なる場合、JAVA_HOME や PATH の設定を確認してください。
IDEとCLIでJavaのバージョンが違う
IDE側の設定(Project SDK / JDK)を確認し、
OSのJavaと一致させることが重要です。
まとめ
- OpenJDKはJava開発の標準選択肢
- LTSバージョン(11 / 17 / 21)を選ぶ
update-alternativesや SDKMAN! でバージョン管理JAVA_HOMEの設定は必須
Javaのバージョン管理を正しく行うことで、開発・運用トラブルを大幅に減らせます。

