Maven

項目管理工具軟體

Maven項目對象模型(POM),可以通過一小段描述信息來管理項目的構建,報告和文檔的項目管理工具軟體。

Maven除了以程序構建能力為特色之外,還提供高級項目管理工具。由於Maven的預設構建規則有較高的可重用性,所以常常用兩三行Maven構建腳本就可以構建簡單的項目。由於Maven的面向項目的方法,許多Apache Jakarta項目發文時使用Maven,而且公司項目採用Maven的比例在持續增長。

Maven這個單詞來自於意第緒語(猶太語),意為知識的積累,最初在Jakata Turbine項目中用來簡化構建過程。當時有一些項目(有各自Ant build文件),僅有細微的差別,而JAR文件都由CVS來維護。於是希望有一種標準化的方式構建項目,一個清晰的方式定義項目的組成,一個容易的方式發布項目的信息,以及一種簡單的方式在多個項目中共享JARs。

特點


那麼,Maven和Ant有什麼不同呢?在回答這個問題以前,首先要強調一點:Maven和Ant針對構建問題的兩個不同方面。Ant為Java技術開發項目提供跨平台構建任務。Maven本身描述項目的高級方面,它從Ant借用了絕大多數構建任務。因此,由於Maven和Ant代表兩個差異很大的工具,所以接下來只說明這兩個工具的等同組件之間的區別,如表1所示。
MavenAnt
標準構建文件project.xml和maven.xmlbuild.xml
特性處理順序
${maven.home}/bin/driver.properties
${project.home}/project.properties
${project.home}/build.properties
${user.home}/build.properties
通過-D命令行選項定義的系統特性
最後一個定義起決定作用。
通過-D命令行選項定義的系統特性
由任務裝入的特性
第一個定義最先被處理。
構建規則構建規則更為動態(類似於編程語言);它們是基於Jelly的可執行XML。構建規則或多或少是靜態的,除非使用