【環境構築】Javaの開発環境
Javaでプログラムを書いて実行するための環境構築手順を説明します。JavaはJVM(Java仮想マシン)上で動くコンパイル型の言語で、JDK(Java Development Kit)をインストールするだけでコンパイラ(javac)と実行環境(java)の両方が揃います。
JDK のインストール
JDK(Java Development Kit)は、Java 言語を動かすための道具セットです。中身としては、コンパイラ(javac)、標準ライブラリ、実行環境の JRE(Java Runtime Environment)、そして JVM(Java 仮想マシン)がまとめて含まれています。
ちなみに、Java 8 までは JDK(開発用)と JRE(実行用)が別々に配布されていましたが、Java 9 以降は JRE の単体配布が廃止されました。そのため現在は、JDK を1つインストールすれば全て揃う形になっています。
簡易的な一連の手順は以下を確認してください。
| OS | インストール方法 |
|---|---|
| macOS | Homebrew で『brew install openjdk』を実行します。Homebrew はmacOS用のパッケージマネージャです。インストールされていない場合は公式サイト(https://brew.sh/)の手順に従ってインストールしてください。または Adoptium からインストーラーをダウンロードします。 |
| Windows | Adoptium(旧AdoptOpenJDK)からインストーラーをダウンロードして実行します。インストール完了後、PC を再起動してください。 |
macOS
Homebrewでのインストール方法を解説します。Homebrewインストール後、以下のコマンドを叩きます。
brew install openjdk
macOS で Homebrew を使った場合、インストール完了後に必ず以下のコマンドを実行してください。Homebrew の openjdk は自動で PATH に追加されないため、この手順が必要です。
sudo ln -sfn /opt/homebrew/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk
次に、PATH を設定します。使用しているシェルに合わせてどちらかを実行してください(macOS の標準は zsh です)。現在のシェルが分からない方は『$ echo $SHELL』を叩いてみて下さい、現在のシェルが確認できます。
zsh の場合:
echo 'export PATH="/opt/homebrew/opt/openjdk/bin:$PATH"' >> ~/.zshrc source ~/.zshrc
bash の場合:
echo 'export PATH="/opt/homebrew/opt/openjdk/bin:$PATH"' >> ~/.bashrc source ~/.bashrc
インストール後、ターミナルで以下を実行して確認します。
javac --version javac 21.0.3 java --version openjdk 21.0.3
両方のコマンドでバージョンが表示されれば JDK のインストールは完了です。
Windows
Adoptium(旧AdoptOpenJDK)からインストーラーをダウンロードします。

インストーラーをダブルクリックして以下の画像が表示されたら次へをクリックします。

「使用許諾契約書に同意します」にチェックを入れ、次へをクリックします。

以下はデフォルトの選択状態のままでOKです。特定のユーザーのみにインストールしたい場合は「Install jast for you xxx」にチェック入れて下さい。

以下もそのままで問題ありません。次へをクリックします。

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

以下の画面は「はい」をクリックしてください。

インストール中の画面が出てきた後、しばらく待って以下の画面が出ればOKです。そのまま完了をクリックしてください。

インストール後、Windows は PowerShell またはコマンドプロンプトで以下を実行して確認します。
javac --version javac 21.0.3 java --version openjdk 21.0.3
両方のコマンドでバージョンが表示されれば JDK のインストールは完了です。
SDKMAN で複数バージョンを管理する
プロジェクトごとに JDK のバージョンを切り替えたい場合は、SDKMAN が便利です。Node.js における nvm のように、複数バージョンのインストールや切り替え管理ができるようになります(macOS / Linux 対応)。
macOS
以下の3つのコマンドを順に実行します。
curl -s "https://get.sdkman.io" | bash source "$HOME/.sdkman/bin/sdkman-init.sh" sdk install java
1行目は SDKMAN 本体のインストールスクリプトをダウンロードして実行します(『$HOME/.sdkman/』配下に展開されます)。2行目は SDKMAN を現在のターミナルで使えるように読み込みます(新しく開いたターミナルでは自動で読み込まれるため、2回目以降は不要です)。3行目で SDKMAN 経由で Java の最新安定版をインストールします。
特定のバージョンをインストールして切り替えたい場合は、まず『sdk list java』でインストール可能なバージョンの一覧を確認します。
sdk list java
『sdk list java』で出力されたバージョン一覧はページ送りで表示されます(内部で less コマンドが動いています)。スペースキーで次のページ、『q』キーで一覧を閉じることができます。
確認後、一覧から任意のバージョンを指定してインストールします。以下は Adoptium(Temurin)の JDK 21 をインストールする例です。
sdk install java 21.0.3-tem
既にデフォルトバージョンが設定されている場合は『Do you want java 21.0.3-tem to be set as default? (Y/n):』などと確認されます。デフォルトを変更する場合は『Y』、変更しない場合は『n』を入力してください。
インストールしたバージョンに切り替えるには『sdk use』または『sdk default』を使います。
sdk use java 21.0.3-tem
『sdk use』は現在のターミナルセッションでのみ有効な一時的な切り替えです。ターミナルを閉じると元のバージョンに戻ります。次回以降も同じバージョンを使いたい場合は『sdk default』を実行します。
sdk default java 21.0.3-tem
切り替え後、以下のコマンドでバージョンが変わっていることを確認します。
java --version
『SDKMAN requires Bash 4 or higher, but you are running Bash 3.2』のようなエラーが出た場合は、macOS のデフォルト Bash のバージョンが古いことが原因です。以下で Bash をアップグレードします。
brew install bash
アップグレード後、ターミナルを再起動してから SDKMAN のインストールコマンドを再度実行してください。
コンパイルと実行
Javaはコンパイル型の言語です。ソースコード(.java)をコンパイルしてバイトコード(.class)を生成し、それを実行するという2段階の手順を踏みます。
| 手順 | コマンド | 説明 |
|---|---|---|
| 1 | javac ファイル名.java | ソースコードをコンパイルして .class ファイルを生成します。 |
| 2 | java クラス名 | .class ファイルを実行します(拡張子は付けません)。 |
1. ソースファイルを作成します
テキストエディタで以下の内容を『Hello.java』として保存します。ファイル名はクラス名と一致させる必要があります。この例ではクラス名が『Hello』なので、ファイル名は『Hello.java』です。
sample_Hello.java
public class Hello {
public static void main(String[] args) {
System.out.println("Hello, Son Goku!");
System.out.println("オッス!オラ悟空!");
for (int i = 1; i <= 3; i++) {
System.out.println(i + "回目のループです");
}
}
}
2. コンパイルします
ターミナルでファイルを保存したフォルダに移動し、以下のコマンドを実行します。
javac Hello.java
コンパイルに成功すると、同じフォルダに『Hello.class』ファイルが生成されます(エラーがなければ何も表示されません)。
3. 実行します
java Hello Hello, Son Goku! オッス!オラ悟空! 1回目のループです 2回目のループです 3回目のループです
『java』コマンドの引数にはクラス名を指定します(『Hello.class』ではなく『Hello』です)。拡張子は付けません。
Windows(PowerShell)での実行例
ここではダウンロードフォルダに『Hello.java』を保存した場合の例を紹介します。
『cd』はカレントディレクトリ(現在の作業フォルダ)を移動するコマンドです。『ls』はカレントディレクトリ内のファイル一覧を表示するコマンドです。
cd .\Downloads\
ls
ディレクトリ: C:\Users\_root\Downloads
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 2026/04/01 21:15 158 Hello.java
コンパイルして実行すると次のようになります。
javac Hello.java java Hello Hello, Son Goku! オッス!オラ悟空! 1回目のループです 2回目のループです 3回目のループです
Windows PowerShell で日本語が文字化けしたら
Windows の PowerShell で日本語を含む出力が『?????』や意図しない記号の羅列になることがあります。これはアプリが UTF-8 で出力したバイト列を、PowerShell のコンソール側が別のコードページ(437『OEM US』や 932『Shift-JIS』など)として解釈してしまうために起こります。Windows の言語設定が英語版のときに特に発生しやすく、『java Hello』のような Java の実行結果でも同じ現象が出ます。
まず現在のコンソールのエンコーディングを確認します。
[Console]::OutputEncoding chcp
『[Console]::OutputEncoding』は PowerShell が出力を解釈する際の文字コード、『chcp』は Windows コンソール全体のコードページを返します。『CodePage 437』や『CodePage 932』のように UTF-8(65001)以外が表示されていると文字化けの原因になっている可能性が高いです。
現在のセッションだけで直す場合は、PowerShell で以下の2行を順に実行します。
$env:JAVA_TOOL_OPTIONS = "-Dstdout.encoding=UTF-8 -Dstderr.encoding=UTF-8" [Console]::OutputEncoding = [System.Text.UTF8Encoding]::new()
1行目は Java が標準出力・標準エラーに書き込むときのエンコーディングを UTF-8 に強制します。『JAVA_TOOL_OPTIONS』は Java が起動時に自動で読み込む環境変数で、設定すると Java 実行時に『Picked up JAVA_TOOL_OPTIONS: ...』というメッセージが表示されます。2行目は PowerShell が受け取ったバイト列を UTF-8 として解釈するよう指定します。送信側(Java)と受信側(PowerShell)の両方を UTF-8 に揃えるのがポイントです。
この設定後、再度『java Hello』を実行すると日本語が正しく表示されるようになります。ただしこの指定は PowerShell を閉じると消えるため、次回以降も自動で UTF-8 を使いたい場合は PowerShell の起動時プロファイルに追記しておきます。
if (!(Test-Path $PROFILE)) { New-Item -ItemType File -Path $PROFILE -Force }
Add-Content $PROFILE '$env:JAVA_TOOL_OPTIONS = "-Dstdout.encoding=UTF-8 -Dstderr.encoding=UTF-8"'
Add-Content $PROFILE '[Console]::OutputEncoding = [System.Text.UTF8Encoding]::new()'
『$PROFILE』は PowerShell 起動時に自動で読み込まれるスクリプトファイルのパスを指す組み込み変数です。1行目でファイルが無ければ新規作成し、2〜3行目でエンコーディング設定を追記しています。PowerShell を一度閉じて開き直すと設定が自動で適用されます。
補足: 『chcp 65001』でコードページ自体を UTF-8 に切り替える方法もありますが、古いコマンドの互換性に影響することがあるため、PowerShell の出力側と Java の出力側だけを UTF-8 に揃えるのが安全です。
ファイルの書き方やコメントの記述方法については『.java ファイルの作成と実行方法』を参照してください。
コンパイルエラーの対処
コードに誤りがあると、『javac』の実行時にエラーメッセージが表示されます。よくあるエラーを紹介します。
| エラー | 原因 |
|---|---|
| class Hello is public, should be declared in a file named Hello.java | ファイル名とクラス名が一致していません。 |
| reached end of file while parsing | 中括弧(『{』と『}』)の対応が合っていません。 |
| cannot find symbol | 変数名やメソッド名にタイプミスがあります。 |
| ';' expected | 文の末尾にセミコロン(;)が抜けています。 |
エラーメッセージには行番号が表示されるので、該当する行を確認して修正してください。
ブラウザで試す
環境構築なしで Java を試したい場合は、JDoodle や OneCompiler などのオンライン実行環境が便利です。ブラウザ上でコードを入力して、そのまま実行結果を確認できます。
学習の初期段階ではオンライン実行環境で文法を試しながら覚え、本格的な開発を始める段階でローカル環境を構築するとスムーズです。
IDE(Integrated Development Environment — コード編集・実行・デバッグを1つにまとめた開発ツール)での開発
| ツール | 特徴 |
|---|---|
| IntelliJ IDEA | JetBrains製のJava向けIDEです。高度なコード解析・リファクタリング・デバッグ機能を備えています。Community版は無料。 |
| Eclipse | 長年Javaの標準IDEとして使われてきたオープンソースのIDEです。プラグインで機能を拡張できます。無料。 |
| VSCode | 軽量なエディタです。Extension Pack for Java をインストールすると、コード補完・デバッグ・テスト実行など本格的なJava開発が可能になります。正式名は『Visual Studio Code』。 |
コマンドが見つからないとき
ターミナルで『javac: command not found』や『java: command not found』と表示される場合は、PATH(パス)が通っていない可能性があります。以下の手順で確認・設定してください。
1. コマンドの場所を探します
javac コマンドの場所を確認します。
which javac
見つからない場合、よくあるインストール先を確認します。
ls /usr/local/bin/javac ls /opt/homebrew/bin/javac
2. 使用しているシェルを確認します
echo $SHELL
『/bin/zsh』と表示されたら『~/.zshrc』、『/bin/bash』と表示されたら『~/.bashrc』に設定を書きます。
3. JAVA_HOME と PATH を設定します
Java では PATH に加えて『JAVA_HOME』環境変数の設定も必要です。JDKのインストール先を確認して設定してください。
macOS で JDK のインストール先を確認します。
/usr/libexec/java_home
macOS (zsh) の場合 — JAVA_HOME と PATH を設定:
echo 'export JAVA_HOME=$(/usr/libexec/java_home)' >> ~/.zshrc echo 'export PATH="$JAVA_HOME/bin:$PATH"' >> ~/.zshrc source ~/.zshrc
Linux (bash) の場合:
echo 'export JAVA_HOME=/usr/lib/jvm/java-21-openjdk' >> ~/.bashrc echo 'export PATH="$JAVA_HOME/bin:$PATH"' >> ~/.bashrc source ~/.bashrc
Windows の場合は「システムの詳細設定」→「環境変数」で以下を設定します。
| 変数名 | 値の例 |
|---|---|
| JAVA_HOME | C:\Program Files\Eclipse Adoptium\jdk-21 |
| Path(追加) | %JAVA_HOME%\bin |
SDKMAN を使っている場合
SDKMAN でインストールした Java が見つからない場合は、シェルの初期化設定が不足している可能性があります。以下が設定ファイルに含まれているか確認してください。
export SDKMAN_DIR="$HOME/.sdkman" [[ -s "$HOME/.sdkman/bin/sdkman-init.sh" ]] && source "$HOME/.sdkman/bin/sdkman-init.sh"
JDK のアンインストール
macOS(Homebrew)
Homebrew でインストールした OpenJDK をアンインストールするには以下のコマンドを実行します。
brew uninstall openjdk
macOS(SDKMAN)
SDKMAN でインストールした Java は以下でアンインストールできます。
sdk uninstall java 21.0.3-tem
Windows
Windows で Adoptium(Temurin)JDK をアンインストールする手順です。
1. 『設定』→『アプリ』→『インストールされているアプリ』を開き、検索欄に『Adoptium』と入力します。Adoptium からインストールした JDK が一覧に表示されるので、アンインストールしたい JDK の右端にある『⋯』をクリックします。

2. ドロップダウンメニューが表示されるので、『アンインストール』をクリックします。

3. 『このアプリとその関連情報がアンインストールされます。』という確認ダイアログが表示されるので、『アンインストール』をクリックするとアンインストールが開始されます。

複数のバージョンをインストールしている場合は、同じ手順で他のバージョンも削除します。
記事の間違いや著作権の侵害等ございましたらお手数ですがこちらまでご連絡頂ければ幸いです。