音声スライド (クリックで展開/閉じる)
はじめに
- ビルドツールが必要な理由を知る
- Maven の標準的な構成を理解する
pom.xmlの依存関係を読み取る
この単元では、Java の開発作業を支えるビルドツールと Maven
を学びます。TODO
アプリの構成を題材に、src/main/java、src/main/resources、src/test/java
の役割を確認します。さらに、pom.xml に書かれた dependency
が何を表すのかを読み取れるようになることが目標です。
ビルドツールの役割

Java のアプリを準備するには、ソースコードのコンパイルだけでなく、外部の部品の取得、テスト、配布しやすい形へのパッケージ化などが必要です。これらを毎回手作業で行うと、作業漏れや手順の違いが起こりやすくなります。ビルドツールは、一連の作業を決められた手順で自動化する道具です。
Maven が担うこと
- Maven は Java 向けのビルドツール
- プロジェクトの構成を規約で統一する
- 必要な外部部品を自動で取得する
- ビルドの設定を
pom.xmlに記述する
Maven は、Java
の開発で広く使われるビルドツールです。ファイルを置く場所やビルドの進め方に標準的な規約を設けています。また、必要な外部のプログラム部品を自動で取得します。プロジェクトごとの情報や必要な部品は、pom.xml
にまとめて記述します。
標準ディレクトリの全体像

Maven では、標準のディレクトリ構成が決まっています。アプリに含める
Java コードとリソースは src/main
の下に置き、動作確認に使うコードとリソースは src/test
の下に置きます。この規約に従うことで、ファイルごとの場所を細かく設定しなくても
Maven が役割を判別できます。
各ディレクトリの役割
| 場所 | 置くもの |
|---|---|
src/main/java |
アプリの Java コード |
src/main/resources |
HTML、CSS、設定ファイル |
src/test/java |
動作確認用の Java コード |
src/test/resources |
動作確認用の設定ファイル |
src/main/java には、TodoApplication.java
などの Java コードを置きます。src/main/resources
には、HTML、CSS、application.properties など、Java
コード以外のファイルを置きます。src/test/java と
src/test/resources
は、アプリの動作を確認するためのファイルを分けて置く場所です。
pom.xml は設計図
| 記述する情報 | 意味 |
|---|---|
groupId |
作成者や組織を識別する名前 |
artifactId |
作成するものを識別する名前 |
version |
作成するものの版 |
dependency |
必要な外部部品 |
build |
ビルドに関する設定 |
pom.xml は、Maven
がプロジェクトを扱うための設計図です。TODO
アプリでは、groupId が
com.example、artifactId が
todo、version が 0.0.1-SNAPSHOT
です。この 3
つの情報を組み合わせることで、作成するものを識別できます。ほかに、必要な外部部品を表す
dependency や、ビルドに関する設定も記述します。
dependency の読み方
- dependency は必要な外部部品の宣言
groupIdで提供元を識別するartifactIdで部品を識別する- Maven が必要なファイルを取得する
pom.xml の dependency
は、このプロジェクトが必要とする外部部品の宣言です。たとえば、TODO
アプリには groupId が
com.h2database、artifactId が h2
の dependency があります。Maven はこの情報を読み、Maven
リポジトリと呼ばれる保管場所から必要なファイルを取得します。ここでのリポジトリは、公開された部品を保管する場所という意味です。
依存関係を取得する流れ

Maven は最初に pom.xml を読み、宣言された dependency
を確認します。次に、groupId や artifactId
を手掛かりとして Maven
リポジトリを探し、必要なファイルを取得します。開発者が必要なファイルを一つずつ探してプロジェクトへ追加する必要はありません。具体的な
Maven の操作は第 7 単元で扱います。
この単元で扱わないこと
- Maven のコマンド操作は第 7 単元
- 実行用ファイルの作成と起動も第 7 単元
- Spring Boot のスターターは第 9 単元
- 親 POM の役割も第 9 単元
この単元では、Maven の役割、標準ディレクトリ、pom.xml
の読み方に集中しました。Maven
を実際に操作する方法と、作成したファイルからアプリを起動する方法は第 7
単元で扱います。pom.xml にある Spring Boot
固有のスターターと親 POM の役割は、第 9 単元で扱います。
まとめ
- ビルドツールは開発作業を自動化する
- Maven は標準の構成を規約で定める
src/mainはアプリ用src/testは動作確認用pom.xmlで依存関係を宣言する
ビルドツールは、外部部品の取得、コンパイル、テスト、パッケージ化などを自動化します。Maven
では標準のディレクトリ構成に従ってファイルを配置します。アプリ用のファイルは
src/main、動作確認用のファイルは src/test
に分けます。必要な外部部品は pom.xml の dependency
として宣言し、Maven に取得を任せます。