Eclipse Temurin OpenJDK 17 のインストールと設定(Windows 上)
【概要】
本記事では、Windows環境におけるEclipse Temurin OpenJDK 17(LTS)のインストールと設定手順を解説する。OpenJDKは、オープンソースで開発されているJava Development Kitである。Eclipse Temurinが提供するインストーラーをダウンロードしてインストールし、環境変数(JAVA_HOME、Path)を設定する。その後、コマンドプロンプトでバージョン確認とサンプルプログラムの実行により、セットアップの完了を確認する。
【ライセンスに関する注意】
本記事では、Eclipse Temurinが提供するOpenJDK 17をインストールする。Eclipse Temurinは完全にオープンソースであり、商用利用を含めて無償で利用できる。ライセンスはGPLv2 + Classpath Exceptionに基づく。Java 17はLTS(長期サポート)版であり、Eclipse Temurinでは少なくとも2027年10月まで無償ビルドが提供される予定である。利用の際は、公式ライセンスを確認すること。
【目次】
【サイト内の関連情報】
- Java プログラミング: 別ページ »にまとめ
1. Eclipse Temurin OpenJDK 17 のダウンロードとインストール
ここでは、Eclipse Temurinが提供するOpenJDK 17をインストールする。Eclipse Temurinは、旧AdoptOpenJDKの後継プロジェクトであり、Eclipse Foundationが運営している。OpenJDKには他にも様々なディストリビューション(配布形態)が存在する(例:Amazon Corretto、Microsoft Build of OpenJDK)。
- 公式サイトへアクセスする。
- ダウンロードオプションを選択する。
「Operating System: Windows」、「Architecture: x64」、「Package Type: JDK」、「Version: 17 - LTS」を選ぶ。
- .msi形式のインストーラーをダウンロードする。
「.msi」ボタンをクリックしてインストーラーをダウンロードする。ファイル名は
OpenJDK17U-jdk_x64_windows_hotspot_17.0.x_x.msiのような形式になる。
- インストーラーを実行する。
ダウンロードした.msiファイルをダブルクリックしてインストーラーを起動する。ウィザードでは「Install for all users of this machine」(このマシンの全ユーザー用にインストール)を選ぶことを推奨する。
- カスタムセットアップで環境変数を設定する。
カスタムセットアップ画面で、「Set JAVA_HOME variable」と「Add to PATH」の各項目のアイコンを右クリックし、「ローカル ハード ドライブにすべてインストール」を選ぶ。これにより、
JAVA_HOME環境変数とPath環境変数が自動的に設定される。
- インストールを完了する。
「インストール」ボタンをクリックし、完了まで待つ。インストール先のデフォルトは
C:\Program Files\Eclipse Adoptium\jdk-17.0.x.x-hotspotである。
2. 環境変数の確認
msiインストーラーで「Set JAVA_HOME variable」と「Add to PATH」を有効にした場合、環境変数は自動的に設定される。ここでは設定が正しく行われたかを確認する。
設定内容:
確認手順
- コマンドプロンプトを開く。(管理者権限は不要)
- JAVA_HOMEを確認する。
echo %JAVA_HOME%正しく設定されている場合、
C:\Program Files\Eclipse Adoptium\jdk-17.0.x.x-hotspotのようなパスが表示される。 - Pathを確認する。
echo %PATH%表示される文字列の中に、
C:\Program Files\Eclipse Adoptium\jdk-17.0.x.x-hotspot\binが含まれていることを確認する。
手動で環境変数を設定する場合
インストール時に環境変数の自動設定を行わなかった場合、または設定を変更したい場合は、以下の手順で手動設定する。ここではシステム環境変数を設定するため、管理者権限が必要である。
- 管理者権限でコマンドプロンプトを起動する
(手順:Windowsキーまたはスタートメニュー →
cmdと入力 → 右クリック → 「管理者として実行」)。 - JAVA_HOMEを設定する。
以下のコマンドを実行する。パスは実際のインストール先に置き換えること。
powershell -command "[System.Environment]::SetEnvironmentVariable('JAVA_HOME', 'C:\Program Files\Eclipse Adoptium\jdk-17.0.x.x-hotspot', 'Machine')" - Pathに追加する。
以下のコマンドを実行する。
powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable('Path', 'Machine'); $newpath = $oldpath + ';C:\Program Files\Eclipse Adoptium\jdk-17.0.x.x-hotspot\bin'; [System.Environment]::SetEnvironmentVariable('Path', $newpath, 'Machine')" - 設定を反映する。
環境変数の変更を有効にするため、開いているすべてのコマンドプロンプトを閉じ、再度開く。場合によっては、Windowsへの再サインインやPCの再起動が必要になることもある。
3. 設定の確認
設定が正しく反映されたかを確認する。
- 新しいコマンドプロンプトを開く。(管理者権限は不要)
- 以下のコマンドを実行する。
java -version - 次のように、インストールしたOpenJDKのバージョン情報が表示されれば成功である。
openjdk version "17.0.x" 20xx-xx-xx LTS OpenJDK Runtime Environment Temurin-17.0.x+x (build 17.0.x+x) OpenJDK 64-Bit Server VM Temurin-17.0.x+x (build 17.0.x+x, mixed mode, sharing)表示されない場合や、異なるバージョンが表示される場合は、環境変数の設定(パスの正確さ、
JAVA_HOMEとPathの変数名、設定の反映)を再確認すること。 - コンパイラ(ソースコードをバイトコードへ変換するツール)も確認する。
javac -version以下のように表示されれば、Java開発環境が正しくインストールされている。
javac 17.0.x
4. トラブルシューティング
複数バージョンのJavaがインストールされている場合
Windows環境で複数バージョンのJavaを共存させている場合、Path環境変数の競合に注意する。
Oracle JDKのPATH自動設定
Oracle JDKをインストールすると、バージョンによって以下の場所にファイルが配置され、JAVA_HOMEの設定より優先される場合がある。
- Java 7以前:
C:\Windows\System32にjava.exe、javaw.exe、javaws.exeがコピーされる。 - Java 8以降:
C:\ProgramData\Oracle\Java\javapathにシンボリックリンク(別の場所のファイルを指す参照)が作成される。
対処方法
JAVA_HOMEによるバージョン切り替えを確実に機能させるには、以下の対処を行う。
- System32内のjava.exeを無効化する:
C:\Windows\System32内のjava.exe、javaw.exe、javaws.exeをリネームまたは削除する(管理者権限が必要)。
64ビット版Windowsの場合、C:\Windows\SysWOW64内にも同様のファイルがあれば同じ処理を行う。 - javapathのPATH優先順位を下げる:
環境変数Pathの中で、C:\ProgramData\Oracle\Java\javapathが存在する場合、これを最後尾に移動させる。 - JAVA_HOME\binを最優先にする:
環境変数Pathの先頭に%JAVA_HOME%\binを配置する。
レジストリの影響
System32にコピーされたjava.exeは、レジストリに記録されたバージョン情報と自身のバージョンを比較し、異なる場合は実行を中止する仕様になっている。このため、JAVA_HOMEを変更するだけでは正常に動作しない場合がある。
環境変数設定後もバージョンが変わらない場合
環境変数を設定してもjava -versionで期待したバージョンが表示されない場合、以下を確認する。
- コマンドプロンプトを完全に閉じて、新しいウィンドウで再度確認する。
echo %JAVA_HOME%コマンドで環境変数が正しく設定されているか確認する。echo %PATH%でPathの順序を確認し、JAVA_HOME\binが最初に評価されるか確認する。- それでも解決しない場合は、Windowsへの再サインインまたは再起動を試す。
5. サンプルプログラムの実行
JDKのインストールと設定が正しく完了したことを、簡単なプログラムのコンパイルと実行により確認する。
- ファイル「HelloWorld.java」を作成する。
Javaでは、ファイル名(
HelloWorld.java)とpublicなクラス名(HelloWorld)を一致させる必要がある。public class HelloWorld { public static void main(String args[]) { System.out.println("Hello Java World !"); } }
- コンパイル(ソースコードからバイトコードへの変換)を行う。
コマンドプロンプトで
javacコマンドを使って次のように操作する。javac HelloWorld.javaこれにより
HelloWorld.classファイルが生成される。
- 実行(バイトコードの実行)を行う。
コマンドプロンプトで
javaコマンドを使って次のように操作する(.classは付けない)。java HelloWorld - 実行結果は次のようになる。
これでOpenJDK 17が正常にインストールされ、プログラムが実行できることが確認できた。
クラス定義の例
以下は、フィールド、コンストラクタ、メソッドを含むクラス定義の例である。
public class MyClass
{
private int x;
public static void main(String[] args) {
System.out.println("hello");
}
public MyClass()
{
x = 0;
}
public int sampleMethod(int y)
{
return x + y;
}
}
6. 補足情報
長期サポート版の選択について
Javaは6か月ごとに新しいバージョンがリリースされるが、長期サポート版は長期間のサポートが提供される。主な長期サポート版は以下のとおりである。
- Java 25(2025年9月リリース):最新のLTS版である。
- Java 21(2023年9月リリース):多くの環境で使用されている。
- Java 17(2021年9月リリース):本記事で解説。Eclipse Temurinでは少なくとも2027年10月まで無償ビルドが提供される予定である。
新規に学習・開発を始める場合は、より新しいLTS版であるJava 21やJava 25の選択も検討すべきである。既存システムや教材との互換性を重視する場合はJava 17が適している。
セキュリティに関する注意
Javaのセキュリティ脆弱性は定期的に発見され、修正される。Oracleは四半期ごと(1月、4月、7月、10月の第3火曜日)にクリティカル・パッチ・アップデート(CPU)を公開しており、Eclipse Temurinもこれに追従してアップデートをリリースする。古いバージョンのJavaを使用し続けることはセキュリティリスクを高めるため、定期的なアップデートが重要である。
他のOpenJDKディストリビューションの特徴
- Eclipse Temurin:Eclipse Foundationが提供する無償のOpenJDKである。商用利用が可能で、長期サポート版に対応している。本記事で推奨する。
- Amazon Corretto:Amazonが提供する無償のOpenJDKである。AWS環境での利用に適している。
- Microsoft Build of OpenJDK:Microsoftが提供する無償のOpenJDKである。Azure環境での利用に適している。
- Red Hat OpenJDK:Red Hatが提供する。Red Hat Enterprise Linuxとの統合に優れる。
【サイト内のJava関連ページ】
- Java プログラミング: 別ページ »にまとめ