開発・Git・設計の用語一覧へ
このページの目次
開発・Git・設計初級図解あり

pom.xmlとは?

読み方:pom.xml

最終更新:2026/08/18

3秒でわかる

Maven プロジェクトの設定ファイル。使うライブラリや Java のバージョンを宣言しておくことで、誰の環境でも同じ内容のビルドを再現できます。

30秒図解

pom.xmlはMavenプロジェクトの座標、Java 21、依存ライブラリと版を一つの入れ子構造で宣言し、同じビルドを再現する設定ファイル
依存と版をファイルに固定し、誰の環境でも同じビルドを再現します。

もう少し詳しく

どういうものか

pom.xml は、Maven でビルドする Java プロジェクトの中心にある設定ファイルです。プロジェクトの直下に置き、依存ライブラリ、Java のバージョン、使うプラグイン、生成する成果物の名前を XML で書きます。

ルート要素は 。その中の (組織を表す名前)、(プロジェクト名)、 の三つが座標となり、この組み合わせで世界中のライブラリを一意に指せます。依存を書くときも同じ三点セットで相手を指定します。

なぜ必要か

pom.xml が無かった時代は、必要な jar ファイルを手で集め、lib フォルダに置き、クラスパスを通す作業がありました。ライブラリはさらに別のライブラリを必要とするため、集め始めると芋づる式に増えます。

Maven は、宣言した依存が必要とする依存(推移的依存)まで自動でたどって取得します。新しく参加した人が git clone してビルドコマンドを一つ叩くだけで同じ環境が再現され、手順が口伝ではなくファイルとして残ります。

具体例

<project xmlns="http://maven.apache.org/POM/4.0.0"> <modelVersion>4.0.0</modelVersion> <groupId>jp.harenohi</groupId> <artifactId>coffee-order</artifactId> <version>1.0.0</version> <packaging>jar</packaging> <properties> <maven.compiler.source>21</maven.compiler.source> <maven.compiler.target>21</maven.compiler.target> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>com.mysql</groupId> <artifactId>mysql-connector-j</artifactId> <version>8.4.0</version> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter</artifactId> <version>5.10.2</version> <scope>test</scope> </dependency> </dependencies> </project>
# 依存がどう解決されたかを木構造で確認する mvn dependency:<a href="/glossary/tree" class="text-primary font-medium underline underline-offset-2 hover:text-primary-dark">tree</a>

つまずきやすいところ

の指定ミスは症状が分かりにくい形で出ます。test スコープのライブラリを本体のコードから import すると、テスト時は通るのに実行時に NoClassDefFoundError で落ちます。コンパイルが通ったから大丈夫、とはならない箇所です。

同じライブラリの違うバージョンが別々の経路から要求されたときは、宣言の位置がより近いほうが採用されます。意図より古い版が選ばれて挙動が変わることがあるため、不可解な動きをしたら依存ツリーを出して確かめます。

コンパイラのバージョン指定の書き忘れも定番です。既定値が古いままだと、新しい文法を書いた瞬間に構文エラーになります。

似た用語との違い

ファイルツール書き方
pom.xmlMavenXML。宣言的で読み方が一通り
build.gradleGradleGroovy や Kotlin。処理も書ける
package.jsonnpmJSON。JavaScript 側の同じ役割


覚え方

POM は Project Object Model の略です。プロジェクトそのものを一つのファイルで表した模型、と読むと が最上位にある構造が腑に落ちます。

知識のつながり

サイドバーと同じ推奨ルート・関連語を、まとめて確認できます。

現在地pom.xml開発・Git

LEARN BY DOING

この用語を、教材で使ってみる

直接関連する編と、その編を含むコースです。用語だけで終わらず、ブラウザ上で実際に手を動かせます。

この用語を扱うコース

コース

Java入門:基礎文法編

69レッスン
コース

Spring Boot入門

48レッスン
コース

Java 中級:コレクション・Stream・例外処理

64レッスン
Javaコースの全編を見る