何為Maven?
Maven主要服務于Java平臺的項目構建、依賴管理和項目信息管理。
注:構建是指日常編碼過程中,編譯、運行單元測試、生成文檔、打包和部署等活動。
Maven的特點
Maven,作為一個強大的構建工具,有以下幾個特點:
- 跨平臺:無論在Windows,還是在Linux或者Mac上,都可以使用相同的指令來完成同樣的任務。
- 最大化消除構建的重復:Maven分析了大量Java項目構建過程中重復出現的、必要的活動,并將其規范化、標準化,同時也提供了實現常用構建功能的Maven插件,滿足了我們日常中常見的構建任務。
- 標準化構建過程:這一點是兩面的,一是意味著我們需要熟悉Maven的構建過程,這增加了我們的學習成本;二則意味著我們一旦學會之后,放之四海而皆準。
更多
Maven還是依賴管理工具和項目信息管理工具,提供了中央倉庫,幫我們管理構件。
在Maven中會涉及到如下幾個名詞:
- 坐標系統:這是Maven用來解決Java項目中包的版本不一致、版本沖突、依賴冗余等問題的基礎。
- 項目信息管理:這部分提供了一個描述項目信息的標準化列表,如項目著眼解決的問題、項目的開發人員等。
- 中央倉庫:這里是Maven為全世界Java開發師提供的免費“倉庫”,在這里可以找到幾乎所有流行的開源類庫。
另外,Maven中還體現了一種軟件開發過程管理的方法論,即“約定優于配置(Convention Over Configuration)”,例如,Maven對Java項目的項目目錄結構、測試用例命名方式等都有既定的規則。
參考材料
Maven實戰
這本書是我學習Maven的主要參考資料,內容詳實全面,Maven的原理、使用方法和高級應用以及必不可少的實戰都有涉及。另外,作者也是Maven在國內的早期布道者。力薦