項目構建工具 Apache Maven 3.0.4 發布

fmms 12年前發布 | 16K 次閱讀 Maven

項目構建工具 Apache Maven 3.0.4 發布
目前,絕大多數開發人員都把 Ant 當作 Java 編程項目的標準構建工具。遺憾的是,Ant 的項目管理工具(作為 make 的替代工具)不能滿足絕大多數開發人員的需要。通過檢查 Ant 構建文件,很難發現項目的相關性信息和其它元信息(如開發人員/擁有者、版本或站點主頁)。

Maven 除了以程序構建能力為特色之外,還提供 Ant 所缺少的高級項目管理工具。由于 Maven 的缺省構建規則有較高的可重用性,所以常常用兩三行 Maven 構建腳本就可以構建簡單的項目,而使用 Ant 則需要十幾行。事實上,由于 Maven 的面向項目的方法,許多 Apache Jakarta 項目現在使用 Maven,而且公司項目采用 Maven 的比例在持續增長。

Maven vs Ant

那么,Maven 和 Ant 有什么不同呢?在回答這個問題以前,我要強調一點:Maven 和 Ant 針對構建問題的兩個不同方面。Ant 為 Java 技術開發項目提供跨平臺構建任務。Maven 本身描述項目的高級方面,它從 Ant 借用了絕大多數構建任務。因此,由于 Maven 和 Ant 代表兩個差異很大的工具,所以我將只說明這兩個工具的等同組件之間的區別,如表 1 所示。

表 1. Maven vs Ant

  Maven Ant
標準構建文件 project.xml 和 maven.xml build.xml
特性處理順序
  1. ${maven.home}/bin/driver.properties
  2. ${project.home}/project.properties
  3. ${project.home}/build.properties
  4. ${user.home}/build.properties
  5. 通過 -D 命令行選項定義的系統特性
最后一個定義起決定作用。
  1. 通過 -D 命令行選項定義的系統特性
  2. 由 任務裝入的特性
第一個定義最先被處理。
構建規則 構建規則更為動態(類似于編程語言);它們是基于 Jelly 的可執行 XML。 構建規則或多或少是靜態的,除非使用