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可以簡化和標準化項目建設過程。處理編譯,分配,文檔,團隊協作和其他任務的無縫連接。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章