1. 程式人生 > >Maven之(一)Maven是什麼

Maven之(一)Maven是什麼

首先,Maven的正確發音是[ˈmevən],而不是“馬瘟”以及其他什麼瘟。Maven在美國是一個口 語化的詞語,代表專家、內行的意思,約等於北京話中的老炮兒。一個對Maven比較正式的定義是這麼說的:Maven是一個專案管理工具,它包含了一個專案物件模型 (POM:Project Object Model),一組標準集合,一個專案生命週期(Project Lifecycle),一個依賴管理系統(Dependency Management System),和用來執行定義在生命週期階段(phase)中外掛(plugin)目標(goal)的邏輯。不過,這段話對於完全沒有Maven實踐經驗的人來說,看了等於沒看,並沒有什麼卵用。Maven到底是什麼,能做什麼,可以用更通俗的方式來說明。我們知道,專案開發不僅僅是寫寫程式碼而已,期間會伴隨著各種必不可少的事情要做,下面列舉幾個感受一下:1、我們需要引用各種jar包,尤其是比較大的工程,引用的jar包往往有幾十個乃至上百個, 每用到一種jar包,都需要手動引入工程目錄,而且經常遇到各種讓人抓狂的jar包衝突,版本衝突。2、我們辛辛苦苦寫好了Java檔案,可是隻懂0和1的白痴電腦卻完全讀不懂,需要將它編譯成二進位制位元組碼。好歹現在這項工作可以由各種整合開發工具幫我們完成,Eclipse、IDEA等都可以將程式碼即時編譯。當然,如果你嫌生命漫長,何不鋪張,也可以用記事本來敲程式碼,然後用javac命令一個個地去編譯,逗電腦玩。3、世界上沒有不存在bug的程式碼,正如世界上沒有不喜歡美女的男人一樣。寫完了程式碼,我們還要寫一些單元測試,然後一個個的執行來檢驗程式碼質量。4、再優雅的程式碼也是要出來賣的。我們後面還需要把程式碼與各種配置檔案、資源整合到一起,定型打包,如果是web專案,還需要將之釋出到伺服器,供人蹂躪。試想,如果現在有一種工具,可以把你從上面的繁瑣工作中解放出來,能幫你構建工程,管理jar包,編譯程式碼,還能幫你自動執行單元測試,打包,生成報表,甚至能幫你部署專案,生成Web站點,你會心動嗎?傻子才不會。負責任的告訴你,以上的一切Maven都可以辦到。概括地說,Maven可以簡化和標準化專案建設過程。處理編譯,分配,文件,團隊協作和其他任務的無縫連線。