はじめに (対象読者・この記事でわかること)

この記事は、WindowsでJavaプログラミングを始めたいが、javac -versionコマンドが反応せず、コンパイルすらできない初学者の方を対象にしています。
記事を読むことで、JDKが正しくインストールされているかの確認方法、環境変数(PATH・JAVA_HOME)の意味と設定手順、そして「なぜコマンドが認識されないのか」を自分で診断・解決できるようになります。筆者も初めてJavaを勉強した際に同じ壁にぶち当たり、1時間以上堂々巡りした苦い経験があるので、同じ時間を無駄にしてほしくありません。

前提知識

この記事を読み進める上で、以下の知識があるとスムーズです。 - Windowsでコマンドプロンプト(cmd)を開ける - エディタでHelloWorld.javaを作成できる

JDKとは?なぜ「javac」が必要なのか

Javaは「書いたらすぐ動く」言語ではありません。.javaファイルを実行可能な.classファイルへ変換(コンパイル)するためには、javacコマンドが必要です。javacはJDK(Java Development Kit)に含まれるコンパイラで、JDKがインストールされていないか、PATHが通っていないと「javacは内部コマンド・外部コマンドとして認識されていません」あるいは何も表示されない、という状態になります。つまり、JDKを正しくセットアップする=Javaプログラミングのスタートラインに立てるということです。

手順図解:JDKインストールから環境変数設定まで

ステップ1:現在の状態を調べる

  1. コマンドプロンプトを開き、以下を順番に実行します。 java -version javac -version - javaはJRE(ランタイム)の有無をチェック - javacはJDK(開発環境)の有無をチェック
  2. どちらも「認識されません」または何も表示されない場合はJDK未インストールor環境変数未設定と判断できます。

ステップ2:JDKをインストールする

  1. Oracle JDKダウンロードページまたはOpenJDKへアクセス
  2. x64 Installer(Windows向け)をダウンロード
  3. インストーラを実行し、デフォルトの場所(C:\Program Files\Java\jdk-XXをメモしておく(後で使います)
  4. インストール完了後、一旦コマンドプロンプトを閉じて再度開きjavac -versionを実行 → まだ反応がないはずです(PATHが通っていないため)

ステップ3:環境変数「PATH」を通す

  1. Windowsキー → 「環境変数」と入力 → システム環境変数の編集を選択
  2. システム環境変数エリアから「Path」を選択し編集
  3. 新規をクリックし、以下を追加(XXはインストールしたバージョン) C:\Program Files\Java\jdk-XX\bin
  4. 連続してOKを押して保存
  5. 新たにコマンドプロンプトを開きjavac -version → バージョンが表示されればOK!

ステップ4(オプション):JAVA_HOMEを設定して後々楽をする

Tomcat、Gradle、Mavenなど多くのツールはJAVA_HOMEを参照します。
1. システム環境変数で新規を選択 2. 変数名:JAVA_HOME
変数値:C:\Program Files\Java\jdk-XX\binは付けない) 3. OKを連打して保存

ハマりポイント:「なぜか既存のPathが効かない」

筆者がハマったのは、System PATHの末尾に既に別のJavaパスが残っていたケースです。
WindowsはPathを上から順に探索するため、古いJDKパスが優先され、新しいjavacが呼ばれないという現象が起きます。

解決策

  1. Path一覧を上からチェックし、古いJavaパスがあれば削除 or 新しいパスを上へ移動
  2. コマンドプロンプトでwhere javacを実行 → 複数パスが表示されれば順序ミス
  3. 修正後は必ず新しいコマンドプロンプトで再実行(キャッシュが残るため)

まとめ

本記事では、javac -versionが何も表示されない原因と、JDKの再インストール・PATH・JAVA_HOME設定を図解付きで解説しました。

  • JDKは「開発者向け」でjavacが含まれている
  • PATHを通す=binフォルダまでの絶対パスをSystem環境変数に追加
  • 古いPathが優先されると新しいjavacが呼ばれないのでwhereコマンドで順序を確認

これでJavaのコンパイル環境は完璧です。次は、Visual Studio CodeやIntelliJ IDEAで実際にHelloWorldを実行してみましょう。以降、ビルドツール(Maven/Gradle)やLombok、Spring Bootなど発展的なテーマも順次記事にしていきます。

参考資料