0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

JDK(Java Development Kit)環境変数の設定

Posted at

はじめに

新たなプロジェクト参画に伴い、JDKを環境変数に設定するというセットアップ作業を行いました。
一連の流れを簡単にまとめてみました
2025年10月においての情報になりますので、何かしら異なる場合もあると思いますが、ご承知おきください

対象者

  • Windows11環境

JAVA_HOME環境変数の設定手順(Windows 11)

  1. 設定を開く
    画面左下の「スタート」→表示されたメニューで「設定」を選択
  2. システム情報を開く
    設定画面、左側のメニューから「システム」を選択 →「バージョン情報」をクリック
  3. システムの詳細設定を開く
    「関連リンク」セクションにある「システムの詳細設定」をクリック
  4. 環境変数の設定
    「システムのプロパティ」ウィンドウが開き「詳細設定」タブを選択
    「環境変数」ボタンをクリック。
  5. JAVA_HOMEの設定
    「システム環境変数」セクションで「新規」 
    →「変数名」に JAVA_HOME
    →「変数値」に、Javaがインストールされているディレクトリのパスを入力し「OK」で完了
    例: C:\Program Files\Java\jdk-17
    この設定により、Java関連のツールやアプリケーションがJAVA_HOME環境変数を参照できるようになります。

📌 補足:JDKとJREの違い

JDK(Java Development Kit):Javaの開発に必要なツールやライブラリが含まれています。
JRE(Java Runtime Environment):Javaアプリケーションを実行するための環境が含まれています。
通常、開発を行う場合はJDKをインストールし、そのパスをJAVA_HOMEに設定します。

補足:✅ Javaがインストールされているか確認する方法

  1. コマンドプロンプトを開く
    スタートメニューをクリックし、「cmd」と入力して、表示された「コマンドプロンプト」をクリック
  2. Javaのバージョンを確認する(コマンド認識されなかったらそれはJava未インストールという事)
    以下コマンドからバージョン確認
java -version

📂 Javaのインストール先ディレクトリを確認する方法

以下コマンドを実行する事でインストール先ディレクトリを確認することができます

where java
結果が次のような時
C:\Program Files\Java\jdk-11.0.1\bin\java.exe
Javaがインストールされているディレクトリは以下になります
C:\Program Files\Java\jdk-11.0.1

既に違うversionのJDKがインストールされている場合はどうすればいいのか?

仮にバージョン確認の際にJDK21がある事がわかり、JDK17のインストールが必要になった場合

  1. OpenJDK 17 のインストーラーを普通にダウンロード
  2. インストーラーを実行

改めて、JAVA_HOME 環境変数の設定

「システム環境変数」セクションで「新規」ボタンをクリックします。
「変数名」に JAVA_HOME と入力し、「変数値」に以下のパスを入力します

C:\Program Files\Java\jdk-17

同じ「環境変数」ウィンドウで、「Path」を選択し、「編集」ボタンをクリックします。
「新規」ボタンをクリックし、以下のパスを追加します。

%JAVA_HOME%\bin

【おまけ】困った事

C:\Users\ユーザー名>java -version
openjdk version "21.0.7" 2025-04-15 LTS
OpenJDK Runtime Environment Microsoft-11369940 (build 21.0.7+6-LTS)
OpenJDK 64-Bit Server VM Microsoft-11369940 (build 21.0.7+6-LTS, mixed mode, sharing)
C:\Users\ユーザー名>echo %JAVA_HOME%
C:\Program Files\Java\jdk-17
C:\Users\ユーザー名>where java
C:\Users\ユーザー名\.jdks\ms-21.0.7\bin\java.exe
C:\Program Files\Java\jdk-17\bin\java.exe
  • Java17を使用したいので、設定後納戸確認しても「21」が表示される
  • つまり17が反映されていない

✅ どうすれば “JDK 17 を使う” 状態になるか?

環境変数「Path」の確認・修正
「システム環境変数」または「ユーザ環境変数」で Path という変数を編集
リストの中で「%JAVA_HOME%\bin(=JDK 17 のもの)」 がなるべく先頭に来るよう移動または追加
→ なぜ?
Windows は java.exe を Path に書いてある順に探していき、最初に見つかったものを使うから
→ つまり、現状でいうと。
JDK 21 のパス(C:\Users\users.jdks\ms‑21.0.7\bin)が JDK 17 より前にある為、JDK 21 が選ばれている

Path から “余分な” java.exe の場所を外す

Path の中に “ユーザフォルダ内 .jdks\ms‑21.0.7\bin” のような条目があれば、それを 削除または末尾に移動させる
変更後、コマンドプロンプトを再起動して確認
Path を変更したあと、開いていたコマンドプロンプトを閉じてから新しく起動
(環境変数の変更は既に開いていたウィンドウには反映されない!

それでも “21” が出る場合

ユーザ環境変数とシステム環境変数のどちらに Path や JAVA_HOME を設定したか、確認
一部ユーザ変数がシステム変数よりも優先になる場合あり!
※最終手段 →JDK 21 をアンインストールする/またはその bin フォルダを Path から完全に外す

翌日にjava -versionと入力したら21から17になっていた

一つ前の段階で「明日削除しないとな」でいったん終えていました。
そして翌日にjava -versionコマンドを実行したら望んでいた結果になっていました
よし、これで安心。。ともいかず、念には念を。という事で21のほうは削除。

現状再確認

  • ユーザー環境変数:
    Path に C:\Users\users.jdks\ms-21.0.7\bin が含まれている
  • システム環境変数:
    JAVA_HOME が C:\Program Files\Java\jdk-17 に設定されている
    Path に %JAVA_HOME%\bin が追加されている

※この設定では、コマンドプロンプトで java コマンドを実行した際に、
ユーザー環境変数の Path に含まれる JDK 21 が優先され、JDK 17 が使用されない可能性あり!

21削除する

手順というほどのモノでもないのですが、単純に「ユーザー環境変数の Path から JDK 21 のパスを削除」

参考記事

さいごに

環境変数の設定がすぐに反映されないのは困る、、
なにかいい方法はないのか?
新規プロジェクト参画時のエディタ等インストールの際には、設定以外のタスクも用意した状態で進めると、時間を持て余すことがなさそう。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?