Maven是一個java項目管理工具。它基于項目對象模型(POM)的概念,可以從中央信息中管理項目的構建、報告以及文檔。它包含了一個項目對象模型,一組標準集合,一個項目生命周期,一個依賴管理系統(tǒng)和用來運行定義在生命周期階段中插件目標的邏輯。Maven的缺省構建規(guī)則具有較高的可重用性,所以常常用兩三行 Maven 構建腳本就可以構建簡單的項目。Maven的主要目標是允許開發(fā)人員在最短的時間內(nèi)了解開發(fā)工作的完整狀態(tài)。

功能特點:
簡單的項目設置,遵循最佳實踐,在幾秒鐘內(nèi)啟動一個新的項目或模塊
所有項目的一致使用意味著新開發(fā)人員進入項目的時間不會增加
優(yōu)越的依賴關系管理包括自動更新,依賴關閉(也稱為傳遞依賴關系)
能夠同時輕松處理多個項目
圖書館和元數(shù)據(jù)的大量不斷增長的庫,使用開箱即用,以及最大的開放源碼項目的安排,實時提供最新版本
可擴展,能夠輕松地使用Java或腳本語言編寫插件
即時訪問新功能,很少或沒有額外的配置
在Maven之外的依賴關系管理和部署的Ant任務
基于模型的構建:Maven能夠根據(jù)項目的元數(shù)據(jù)將任意數(shù)量的項目構建到預定義的輸出類型(如JAR,WAR或分發(fā))中,而無需在大多數(shù)情況下執(zhí)行任何腳本。
項目信息的相干站點:使用與構建過程相同的元數(shù)據(jù),Maven可以生成一個網(wǎng)站或PDF,包括您需要添加的任何文檔,并添加到有關項目開發(fā)狀態(tài)的標準報告中。這些信息的例子可以在這個網(wǎng)站的左側導航下的“項目信息”和“項目報告”子菜單的底部看到。
發(fā)布管理和分發(fā)發(fā)布:無需額外的配置,Maven將與您的源代碼管理系統(tǒng)(如CVS)進行集成,并根據(jù)某個標簽管理項目的發(fā)布。它也可以將其發(fā)布到分發(fā)位置供其他項目使用。Maven能夠發(fā)布單個輸出,例如JAR,包括其他依賴關系和文檔的歸檔,或作為源分發(fā)。
依賴管理:Maven鼓勵使用JAR和其他依賴關系的中央存儲庫。Maven提供了一個機制,您的項目的客戶端可以使用它來從中央JAR存儲庫下載與Perl的CPAN類似的從項目構建所需的任何JAR。這允許Maven的用戶在項目之間重用JAR,并鼓勵項目之間的通信,以確保處理向后兼容性問題。
常用命令:
mvn archetype:create 創(chuàng)建Maven項目
mvn compile 編譯源代碼
mvn deploy 發(fā)布項目
mvn test-compile 編譯測試源代碼
mvn test 運行應用程序中的單元測試
mvn site 生成項目相關信息的網(wǎng)站
mvn clean 清除項目目錄中的生成結果
mvn package 根據(jù)項目生成的jar
mvn install 在本地Repository中安裝jar
mvn eclipse:eclipse 生成eclipse項目文件
mvnjetty:run 啟動jetty服務
mvntomcat:run 啟動tomcat服務
mvn clean package -Dmaven.test.skip=true:清除以前的包后重新打包,跳過測試類