Apache Maven 是基於項目對象模型(POM, Project Object Model)的軟件項目管理神器。它不僅標準化了構建流程,更通過依賴管理徹底解決了「Jar 包地獄」。本文梳理 Maven 核心原理、四大核心價值與基礎架構,為後續實戰打牢地基。

核心三要素:
~/.m2/repository,緩存所有下載的構件;流程:Maven 讀取 POM → 解析依賴 → 本地倉庫查找 → 缺失則去遠程倉庫下載 → 安裝到本地 → 供項目使用。同版本構件全局複用,避免重複下載與拷貝。
| 維度 | 傳統痛點 | Maven 解決方案 |
|---|---|---|
| 項目標準化 | 目錄結構混亂、腳本碎片化 | 約定優於配置:標準目錄結構 + 生命週期命令(mvn test、mvn package)零腳本實現編譯、測試、打包 |
| 文檔與報告 | 手寫文檔、質量不可視 | mvn site 一鍵生成項目站點,含 JavaDoc、測試覆蓋率、Checkstyle 報告等 |
| 依賴管理 | Jar 包手動下載、版本衝突、傳遞依賴地獄 | 聲明式依賴:<dependency> 自動下載、傳遞依賴遞歸解析、版本調解機制 |
| 發布管理 | 打包腳本維護、測試與發布脫節 | mvn package 自動跑測試全通才打包;mvn install 發布到本地倉庫;mvn deploy 推送到私服/中央倉庫 |
Maven 核心僅數 MB,所有功能(編譯、測試、打包、部署、代碼檢查…)均由插件提供。執行任務時按需下載插件,實現「核心輕量、生態豐富」。
推薦進階讀物:許曉斌《Maven 實戰》—— 系統構建 Maven 知識體系的最佳教材。
本系列旨在提煉 Maven 重要知識點,提升學習效率。後續將覆蓋安裝配置、倉庫管理、實戰技巧等專題。