「JDKって何?JAVAと何が違うの?」「FirebaseエミュレーターがJavaエラーで起動しない」「JDKとJRE、結局どちらを入れればいいの?」そんな疑問を抱えていませんか?
Javaの環境構築は、初心者にとって最初の大きな壁です。特にJDKのインストールだけでなく、「JAVA_HOME」や「Path」といった環境変数の設定など、なぜ複数の作業が必要なのか混乱しがちです。
本記事では、Java(JDK)の基礎知識から、JREとの違い、そして多くの人がつまずく「2つの環境変数」の役割を、実例を交えてわかりやすく解説しています。
JAVA(JDK)とは何か?
JAVAはプログラミング言語ですが、そのJAVAを使って開発をする際のツール一式が入ったものがJDK(Java Development Kit)です。
JAVAにはJDKの他に「JRE」というパッケージもあります。これは、JAVAで作られたプログラムを実行するための環境です。
なお、JDKにはJREが含まれています。
| 用語 | 正式名称 | 用途 | 対象 |
| Java | – | 言語そのもの | – |
| JRE | Java Runtime Environment | JAVAの実行環境 | 一般ユーザー |
| JDK | Java Development Kit | JAVAの開発環境(JREも含む) | 開発者 |
JAVA(JDK)は重い?
JDKの容量はそれほど重くありません。大きくても500MB程度で、最近のPC環境であれば、システム全体に与える影響はほとんどありません。
一般的に使われるJDKの場合、インストール後のサイズは以下の通りです。
- インストーラー(ダウンロード時): 約 160MB 〜 190MB
- インストール後のディスク専有量: 約 300MB 〜 500MB
また、JDKは待機中や停止中など、実行していない時はCPUやメモリを消費しません。
インストール方法(Macの場合)
MacにJDKをインストールするには以下のコードを実行します。
brew install openjdk
バージョンを指定する場合(例:17をインストールする場合)
brew install openjdk@17インストール方法(Windowsの場合)
【手順1】Microsoft Build of OpenJDKをダウンロードする
世界中で広く使われていて、信頼性が高くインストールも簡単な「Microsoft Build of OpenJDK」を使います。
Microsoft OpenJDK ダウンロードページにアクセスします。
LTS版でお使いのWindowsに該当するものをダウンロードします。「msi」か「exe」を選びます。
現時点で、SDK25のLTSもリリースされていますが、SDK25は最新すぎます。新しい機能を試したいならSDK25でも問題ありません。
安定性を重視するなら、サポート期間が長く運用実績が豊富なSDK21を選びます。

msiとexeはダブルクリックするだけで簡単にインストールできます。
zipは、ファイルを解凍して自分でフォルダを移動させ、すべてのパス設定を手動で行う必要がある上級者・ポータブル用です。
【手順2】ローカルにインストールする
ダウンロードしたmsiファイルをダブルクリックしてインストーラーを起動します。

「次へ」進みます。(基本的に全て「次へ」で問題ありません)




「インストール」をクリックします。

「完了」をクリックします。

【手順3】環境変数(Path)を確認・設定する
Windowsキーをクリックし「環境変数」と検索し、「システム環境変数の編集」を開きます。

下の方にある「環境変数」をクリックします。

システム環境変数の中に「Path」で「jdk-21.~」があるか確認します。

ない場合は新規追加して、インストールした場所を追加します。
C:\Program Files\Microsoft\jdk-21...\bin【手順4】JAVA_HOMEの追加(システム環境変数)
他のシステムからJAVAを利用できるようにするためにシステム環境変数に「JAVA_HOME」を追加します。
「新規」をクリックして追加します。

- 変数名:「JAVA_HOME」
- 変数値:C:\Program Files\Microsoft\jdk-21.0.9.10-hotspot
※変数値はJAVAをインストールしたファイルパスです。末尾の「\bin」は不要です。
指定した内容がシステム環境変数に追加されます。

以上で設定は完了です。
【手順5】JAVAが正しくインストールされているか確認する(java -version)
最後に、JAVAが正しくインストールされているか確認します。ターミナルで以下を実行します。
java -versionJAVAのバージョンが表示されればOKです。

(補足)JAVA_HOMEとPathの違い。なぜ2つ必要か?
システムの環境変数で、デフォルトの「Path」以外に「JAVA_HOME」も登録しました。
両方ともファイルパスは似たようなもので、末尾に「\bin」が歩かないかの違いしかありません。
なんで2つも入れなければいけないの?と思った方もいるのではないでしょうか。
実は、「JAVA_HOME」と「Path」はどちらも環境変数ですが、役割が全く異なります。
Pathとは?
Pathは、コマンドを省略するための設定です。
通常、Javaを実行するには C:\Program Files\...\bin\java.exe とフルパスで入力する必要があります。
しかし、Pathに ...\bin フォルダを登録しておくと、単に java と打つだけでPCが自動的にそのフォルダ内を探して実行してくれます。
Pathがないと、コマンドプロンプトで firebase emulators:start と打っても、PCがJAVAがどこにあるかわからずエラーになります。
登録する場所はbinも含めます。
C:\Program Files...\jdk-21\bin (binフォルダまで含める)JAVA_HOME とは?
Javaがインストールされている場所を指し示す共通のルールです。
FirebaseエミュレーターやAndroid Studioなどの開発ツールは、自力でPCの中を探すのではなく、「JAVA_HOME という変数にJavaの場所が書いてあるはずだ」という前提で作られています。
JAVA_HOMEがないと、PCがJavaを見つけられても、Firebaseなどのアプリ側がJAVAの場所を見つけられずエラーになります。
登録する場所はbinは含めません。
C:\Program Files\...\jdk-21 (binの一つ手前まで)(応用編)環境変数のPathを「%JAVA_HOME%\bin」にする
現状では、将来、JAVAのバージョンを上げたときに、システム環境変数の「Path」と「JAVA_HOME」の両方を修正しなければいけません。
「Path」を以下のようにすることで、バージョンを変更した場合に「JAVA_HOME」のみ変更すればよくなります。
%JAVA_HOME%\bin
↓ 変更


