【メイヴン】

Maven(メイヴン) とは?

💡 Javaプロジェクトの大家さん、部屋割りはお任せあれ
📌 このページのポイント
Maven ビルドライフサイクル pom.xml validate 検証 compile コンパイル test テスト実行 package JAR生成 deploy リポジトリ配布 Convention over Configuration 標準ディレクトリ構成 src/main/java → 本体コード src/test/java → テストコード Maven Central 1,000万以上のライブラリ 自動ダウンロード
Mavenのビルドライフサイクルと特徴
ひよこ ひよこ

MavenってJavaの世界ではよく聞くけど、何をするツールなの?

ペンギン先生 ペンギン先生

Javaプロジェクトのビルドと依存関係管理を自動でやってくれるツールだよ。たとえばプロジェクトで使うライブラリをpom.xmlに書いておくと、必要なファイルを自動でダウンロードしてくれるんだ

ひよこ ひよこ

pom.xmlって何?

ペンギン先生 ペンギン先生

Project Object Modelの略で、プロジェクトの設計図みたいなものだよ。プロジェクト名、バージョン、使うライブラリ、ビルドの手順なんかを全部XMLで書くんだ。ちょっと長くなりがちだけど、構造が決まっているから読み方を覚えれば理解しやすいよ

ひよこ ひよこ

規約の上での設定ってどういうこと?

ペンギン先生 ペンギン先生

Convention over Configurationという考え方で、ソースコードはsrc/main/java、テストはsrc/test/javaに置く、というようにディレクトリ構成が最初から決まっているんだ。この規約に従えば設定をほとんど書かなくてもビルドできるよ

ひよこ ひよこ

GradleがあるのにMavenを使う理由はあるの?

ペンギン先生 ペンギン先生

Mavenは2004年から使われている老舗で、ネット上の情報量やプラグインの豊富さは圧倒的だよ。既存の大規模プロジェクトの多くがMavenを使っているから、企業のJava開発ではまだまだ現役なんだ

ひよこ ひよこ

Maven Central Repositoryって何がすごいの?

ペンギン先生 ペンギン先生

世界中のJavaライブラリが集まっている巨大な倉庫だよ。2024年時点で1,000万以上のアーティファクトが登録されているんだ。Gradleやsbtなど他のビルドツールもこのリポジトリからライブラリを取得しているから、Java エコシステム全体の基盤と言えるね

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Maven」って出てきたら「Javaの定番ビルド・依存管理ツール」と思えればだいたいOK!
📖 おまけ:英語の意味
「Maven」 = 達人・専門家
💬 Mavenはイディッシュ語で「知識の蓄積者」「達人」という意味だよ。プロジェクト管理の達人、というニュアンスで名付けられたんだ
← 用語集にもどる