何為Maven?
Maven主要服務(wù)于Java平臺的項目構(gòu)建捧搞、依賴管理和項目信息管理抵卫。
注:構(gòu)建是指日常編碼過程中,編譯胎撇、運行單元測試介粘、生成文檔、打包和部署等活動晚树。
Maven的特點
Maven姻采,作為一個強大的構(gòu)建工具,有以下幾個特點:
- 跨平臺:無論在Windows爵憎,還是在Linux或者Mac上慨亲,都可以使用相同的指令來完成同樣的任務(wù)。
- 最大化消除構(gòu)建的重復:Maven分析了大量Java項目構(gòu)建過程中重復出現(xiàn)的宝鼓、必要的活動刑棵,并將其規(guī)范化、標準化愚铡,同時也提供了實現(xiàn)常用構(gòu)建功能的Maven插件铐望,滿足了我們?nèi)粘V谐R姷臉?gòu)建任務(wù)。
- 標準化構(gòu)建過程:這一點是兩面的茂附,一是意味著我們需要熟悉Maven的構(gòu)建過程正蛙,這增加了我們的學習成本;二則意味著我們一旦學會之后营曼,放之四海而皆準乒验。
更多
Maven還是依賴管理工具和項目信息管理工具,提供了中央倉庫蒂阱,幫我們管理構(gòu)件锻全。
在Maven中會涉及到如下幾個名詞:
- 坐標系統(tǒng):這是Maven用來解決Java項目中包的版本不一致狂塘、版本沖突、依賴冗余等問題的基礎(chǔ)鳄厌。
- 項目信息管理:這部分提供了一個描述項目信息的標準化列表荞胡,如項目著眼解決的問題、項目的開發(fā)人員等了嚎。
- 中央倉庫:這里是Maven為全世界Java開發(fā)師提供的免費“倉庫”泪漂,在這里可以找到幾乎所有流行的開源類庫。
另外歪泳,Maven中還體現(xiàn)了一種軟件開發(fā)過程管理的方法論萝勤,即“約定優(yōu)于配置(Convention Over Configuration)”,例如呐伞,Maven對Java項目的項目目錄結(jié)構(gòu)敌卓、測試用例命名方式等都有既定的規(guī)則。
參考材料
Maven實戰(zhàn)
這本書是我學習Maven的主要參考資料伶氢,內(nèi)容詳實全面趟径,Maven的原理、使用方法和高級應(yīng)用以及必不可少的實戰(zhàn)都有涉及癣防。另外舵抹,作者也是Maven在國內(nèi)的早期布道者。力薦