【メイヴン】

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はイディッシュ語で「知識の蓄積者」「達人」という意味だよ。プロジェクト管理の達人、というニュアンスで名付けられたんだ
← 用語集にもどる