Maven本質上是一個項目管理工具,它將項目開發(fā)和管理過程抽象為一個項目對象模型(POM)。開發(fā)人員只需進行一些簡單的配置,就可以批量構建、報告和生成項目的文檔。Maven是跨平臺的,這意味著無論你是在Windows、Linux還是Mac上,都可以使用相同的命令。
作用
我們一直在尋找避免重復的方法。Maven最大限度地減少了構建重復,抽象了構建生命周期,并為絕大多數(shù)構建任務提供了實現(xiàn)的插件,因此我們不再需要定義流程,甚至不需要實現(xiàn)其中的一些流程。
Maven作為一個構建工具,不僅能幫助我們實現(xiàn)自動化構建,還能抽象出構建過程,并提供構建任務的實現(xiàn);它是跨平臺的,并提供與外界一致的操作界面,所有這些都足以讓它成為優(yōu)秀的、受歡迎的構建工具。
優(yōu)勢
當然,除了是優(yōu)秀的構建項目管理工具外,Maven還有其他與項目管理相關的特殊優(yōu)勢。例如,項目相關的第三方依賴包,這是每一個Java程序員都無法回避的問題。
每個老程序員的電腦上都有一個專門的目錄,在那里對過去項目開發(fā)過程中使用的第三方jar包進行分類和篩選。新的程序員就遇到了麻煩。在測試項目時,他們經(jīng)常遇到Class No Found Exceptions,導致一整天的搜索和重啟。
Maven可以統(tǒng)一管理所有依賴的jar,甚至不同的版本。程序員還可以將自己編寫的模塊動態(tài)打包成jar包,由它來管理。需要時,你可以通過一個簡單的描述文件直接告訴Maven,它會自動幫助程序員找到它并將其整合到項目中。而且它還提供了一個中央倉庫,可以幫助我們自動下載組件。