JavaやSpring Bootを学習しようとしたとき、最初の壁は「環境構築」です。
「どのバージョンを入れればいいの?」「IDEって何?VSCodeじゃダメ?」「ターミナルで何を実行すればいい?」
この記事では、Macに Java 開発環境をゼロから構築し、最初のプログラムを動かすまでを一つひとつ丁寧に解説します。プログラミング自体が初めての方でも読めるよう、専門用語はすべてその場で説明します。
この記事で達成すること
- JDK 21(Javaの実行環境)をインストールする
- IntelliJ IDEA Community Edition(Java専用エディタ)をインストールする
- 最初のJavaプログラム「Hello World」を実行する
- Mavenプロジェクト(Spring Boot開発の土台)を作れる状態にする
所要時間:30〜60分
まず「ターミナル」を理解する
この記事では「ターミナルに入力する」という手順が何度も出てきます。
ターミナルとは? Macに標準搭載されている「コマンドを文字で入力してコンピューターを操作するアプリ」です。普段はアイコンをクリックしてソフトを操作しますが、ターミナルでは
brew install javaのようなコマンドを文字で入力して操作します。プログラマーが使う「黒い画面」のイメージです。
ターミナルの開き方:
Command(⌘)+ スペースでSpotlight検索を開く- 「ターミナル」と入力してEnter
- 黒または白のウィンドウが開けばOK
1. Homebrewをインストールする
Homebrewとは何か?
Homebrew(ホームブルー)とは? Macの「パッケージマネージャー」です。パッケージマネージャーとは、「ソフトウェアの検索・ダウンロード・インストール・アップデートをまとめて管理してくれる仕組み」のことです。
iPhone の App Store や、AndroidのGoogle Playに似た役割と考えると分かりやすいです。ただし Homebrew はデスクトップアプリではなく、プログラマー向けの開発ツール(Javaなど)をインストールするための道具です。
なぜ直接ダウンロードしないのか?
JavaのJDKはJavaの公式サイトから直接ダウンロードもできます。でもHomebrewを使う理由は:
- バージョン管理が簡単:
brew switch openjdk 21のようにバージョン切り替えができる - アップデートが楽:
brew upgrade1コマンドで全ツールをまとめて更新できる - アンインストールがきれい: 関連ファイルも含めて完全に消せる
- 業界標準: 現場のエンジニアのほぼ全員が使っているため、調べると情報が豊富
Homebrewのインストール
ターミナルを開き、以下のコマンドをまるごとコピーして貼り付けてEnterを押します。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
コマンドが長くて怖い?
curlはURLからファイルをダウンロードするコマンドです。Homebrewの公式インストーラーを直接ダウンロードして実行しているだけです。公式サイト(brew.sh)に記載されている公式コマンドなので安全です。
途中でMacのパスワードを聞かれるので入力してください(入力中は画面に何も表示されませんが正常です)。インストールには数分かかります。
インストール確認
brew --version
Homebrew 4.x.x のようにバージョンが表示されれば成功です。
2. JDK 21のインストール
JDKとは何か?
JDK(Java Development Kit)とは? 「Javaプログラムを書く・コンパイルする・実行するための道具箱」です。
コンパイルとは? Javaで書いたコード(人間が読める文章)を、コンピューターが直接実行できる形式(機械語)に変換することです。JavaScriptはブラウザがそのまま読めますが、Javaはこの「翻訳作業」が必要です。
JDKの中に入っている主な道具:
- javac(Javaコンパイラ):コードを機械語に変換する
- java(Javaランタイム):変換後のファイルを実行する
どのバージョンを使う?
Javaには多くのバージョン(Java 8、11、17、21 など)がありますが、今回は Java 21(LTS版) を使います。
LTSとは? Long Term Support(長期サポート)の略で、数年間セキュリティアップデートが提供される「安定版」です。企業での本番利用や、クラウドワークスの案件でも多く使われているバージョンです。新しすぎず古すぎない、ちょうどよいバージョンです。
Homebrewを使ってJDK 21をインストール
ターミナルで以下を実行します:
brew install openjdk@21
@21とは? インストールしたいバージョン番号を指定しています。@の後に番号を付けることで「このバージョンを入れて」とHomebrewに伝えています。
インストールが完了したら、次のコマンドを3行まとめて実行します。
echo 'export JAVA_HOME=$(brew --prefix openjdk@21)' >> ~/.zshrc
echo 'export PATH="$JAVA_HOME/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
この3行は何をしているの? ターミナルで
javaと入力したとき、Macがどこにあるjavaを使えばいいか分からない状態です。この3行で「インストールしたJavaの場所」を教えてあげています。
JAVA_HOME=...→ 「Javaがここにある」と登録PATH=...→ 「javaコマンドを実行するとこの場所を見て」と設定source ~/.zshrc→ 設定を今すぐ反映
インストール確認
java -version
javac -version
以下のように表示されれば成功です:
openjdk version "21.0.x" 2024-xx-xx
OpenJDK Runtime Environment Homebrew (build 21.0.x)
javac 21.0.x
3. IntelliJ IDEA Community Editionのインストール
IDEとは何か?
IDE(統合開発環境)とは? Integrated Development Environment の略で、「プログラムを書くための高機能エディタ」です。
普通のテキストエディタ(メモ帳など)でもコードは書けますが、IDEには以下の機能が内蔵されています:
- コード補完: 書きかけのコードを自動で予測・補完してくれる
- エラー検出: 実行前に「ここが間違っている」と赤線で教えてくれる
- デバッグ: プログラムを途中で一時停止して変数の中身を確認できる
- Git連携: ファイルの変更履歴管理もIDEの中でできる
なぜIntelliJ IDEA?VSCodeじゃダメ?
VSCode(Visual Studio Code) はMicrosoftが作った汎用エディタで、JavaScriptやPythonなど様々な言語に対応しています。無料で軽いのが特徴です。
IntelliJ IDEA はJetBrains社が作ったJava特化のIDEです。Javaの型システムを深く理解した補完・リファクタリング・Spring Boot専用サポートなど、Java開発においてはVSCodeより遥かに強力です。現場のJavaエンジニアの大半が使っており、クラウドワークスで既存プロジェクトを渡される際もIntelliJプロジェクトが多いです。
ダウンロードとインストール
- ブラウザで
https://www.jetbrains.com/idea/download/を開く - Community版(無料)をダウンロード ※「Ultimate(有料)」は不要です
- ダウンロードされた
.dmgファイルをダブルクリックで開く - 表示されたウィンドウで IntelliJ IDEA.app を Applicationsフォルダにドラッグ
- ApplicationsからIntelliJ IDEAを起動
Ultimateと Communityの違いは? Ultimate は年間$499(有料)でWebフレームワーク・データベース・クラウドサポートなどが追加されます。Communityは無料で、Java・Kotlin・Maven・Gradleに対応しており、この学習シリーズでは Community で十分です。
初回起動時に設定画面が出ますが、すべて Skip または Don’t import で進んでOKです。
4. 最初のJavaプログラム「Hello World」を動かす
プロジェクト作成
プロジェクトとは? プログラムを作るための「フォルダのまとまり」です。1つのプログラムを作るためのファイル群(ソースコード・設定ファイル・ライブラリ等)を1つのフォルダにまとめたものを「プロジェクト」と呼びます。
IntelliJ IDEAを起動し、「New Project」をクリックします。
Language: Java
Build system: Maven ← ここ重要(後で説明)
JDK: 21 (リストから "21" を選択)
Add sample code: チェックを入れる(HelloWorldが自動生成される)
「Create」を押すとプロジェクトが作られます。
生成されたファイル構造を確認する
左側のプロジェクトツリーを見ると、以下のような構造になっています。
my-project/
├── pom.xml ← Mavenの設定ファイル(後で説明)
└── src/
└── main/
└── java/
└── org/example/
└── Main.java ← これが最初のJavaファイル
srcとは? Source(ソース)の略で、「プログラムのソースコードを置くフォルダ」という意味です。プログラマーが書くコードはここに入ります。
Main.javaの内容を確認する
Main.java をダブルクリックで開くと、以下のコードが表示されます。
package org.example;
public class Main {
public static void main(String[] args) {
System.out.println("Hello world!");
}
}
まだ意味がわからなくて大丈夫です。後で一つひとつ解説します。
実行する
main と書かれた行の左側に緑の三角(▶)マークが表示されています。これをクリック → 「Run ‘Main.main()‘」を選択します。
画面下部に「Run」パネルが開き、以下が表示されれば成功です!
Hello world!
Process finished with exit code 0
“exit code 0” とは? プログラムが「正常に終了した」という意味のコードです。0が「正常」、それ以外の数値はエラーを示します。
5. Javaプログラムの構造を理解する
先ほどのコードをもう一度見てみましょう。
package org.example; // ①
public class Main { // ②
public static void main(String[] args) { // ③
System.out.println("Hello world!"); // ④
}
}
① package org.example;
パッケージとは? ファイルを整理するための「フォルダのような仕組み」です。例えば「本棚の
orgという棚のexampleという区画」のイメージです。大きなプロジェクトでは数百のクラスが存在するため、パッケージで整理しないと管理できなくなります。
② public class Main
Javaではすべてのコードをクラスの中に書きます。クラスとは「プログラムの部品」です。また、クラス名とファイル名は必ず一致させる必要があります(Main.javaの中にpublic class Main)。
③ public static void main(String[] args)
これはJavaプログラムの**エントリーポイント(開始地点)**です。「Javaプログラムを実行すると、まずここから始まる」という決まりがあります。
public:どこからでもアクセスできるstatic:オブジェクトを作らなくても呼べる(詳細は後の記事で解説)void:戻り値なしString[] args:実行時に渡せるコマンドライン引数(文字列の配列)
④ System.out.println("Hello world!");
System.out.println()はコンソール(ターミナル)に文字を出力する命令です。JavaScriptのconsole.log()と同じ役割です。
6. Mavenとは何か?
プロジェクトに pom.xml というファイルがあります。これが**Maven(メイブン)**の設定ファイルです。
Mavenとは? Javaプロジェクトの「ビルドツール兼パッケージマネージャー」です。JavaScriptでいう
npm、Pythonでいうpipに相当します。以下のことをしてくれます:
- ライブラリの自動ダウンロード:
pom.xmlに書いたライブラリをインターネットから自動取得- ビルド: ソースコードをコンパイルして実行可能ファイルを生成
- テスト実行: テストコードをまとめて実行
pom.xmlはpackage.jsonのJava版と考えてください。
<!-- pom.xml の最初の状態 -->
<project>
<groupId>org.example</groupId> <!-- 組織・パッケージID -->
<artifactId>my-project</artifactId> <!-- プロジェクト名 -->
<version>1.0-SNAPSHOT</version> <!-- バージョン -->
<dependencies>
<!-- ここにライブラリを追加していく(npm installに相当) -->
</dependencies>
</project>
<dependencies>の中にライブラリを書くと? Mavenがインターネット上の「Maven Central(ライブラリの倉庫)」から自動でダウンロードして使えるようにしてくれます。npm installと同じ仕組みです。
7. よくあるエラーと解決法
java: command not found
パスが設定できていません。以下を実行:
source ~/.zshrc
java -version
それでも出る場合はターミナルを完全に閉じて再度開いてください。
Error: Could not find or load main class
クラス名とファイル名が一致していないか、パッケージが正しく設定されていません。IntelliJのプロジェクト構造を確認してください。ファイル名が Main.java なら、中のクラス名も public class Main にする必要があります。
IntelliJのJDKが認識されない
「File → Project Structure → SDKs → + → Add JDK」から手動でJDKパスを指定します。Homebrewでインストールした場合のパス:
/opt/homebrew/opt/openjdk@21
brew: command not found
Homebrewのインストールが完了していません。ターミナルを再起動してから brew --version を確認してください。それでも出る場合は、インストールコマンドを再度実行してください。
次のステップ
環境構築が完了したら、実際にコードを書いて学習を進めましょう。
- 課題1: パスワード強度チェッカーを作る — 変数・条件分岐・文字列処理をマスター
- 課題2: CSVデータ集計ツールを作る — ファイル操作・コレクション・Stream APIをマスター
- 課題3: 為替レート取得ツールを作る — HTTP通信・JSON解析をマスター
- 課題4: Spring Boot ToDoリストAPIを作る — REST API開発をマスター
- 課題5: 家計簿APIを作る(MySQL連携) — 本格的なSpring Boot開発をマスター
Javaの学習シリーズ: 今ここ(環境構築) | 課題1・パスワードチェッカー | 課題2・CSV集計ツール | 課題3・為替APIクライアント | 課題4・Spring Boot Todo API | 課題5・家計簿API
関連記事
CHECK IT OUT
サブスク加入者限定の
コンテンツを配信中
- 毎月のAI・自動化トレンドレポート
- クリエイター向け業務効率化テンプレート
- ツール選定・SaaS比較まとめ(限定公開)
「これ自動化できないかな?」
そのアイデア、ITで実現できます。
業務の自動化・お客様向けツール開発・AI活用まで、クリエイター・個人事業主専門のITコンサルタントが対応します。まずは気軽にご相談ください。