Apache Maven 3.0.4發布
Apache Maven 3.0.4 發布,官方發行說明:
http://maven.apache.org/docs/3.0.4/release-notes.html
主要改進記錄:
** Bug
* [MNG-4792] - Preemptive authentication doesn't work
* [MNG-5064] - mvn -nsu (--no-snapshot-updates) should not download snapshots (and break local builds)
* [MNG-5096] - <exclusion> on <dependency> with <type>test-jar</type> doesn't work in maven 3
* [MNG-5113] - NullPointerException on javadoc site generation
* [MNG-5131] - Wrong encoding for encrypted passwords
* [MNG-5135] - Regression: in some cases aggregator mojo is unable to resolve dependencies with custom packaging
* [MNG-5137] - Reactor resolution does not work for forked multi module builds
* [MNG-5149] - DefaultArtifactRepositoryFactory.createArtifactRepository overload w/layoutId passes wrong (repo) id
* [MNG-5153] - ModelMerger omits relativ path
* [MNG-5155] - 'inherited' flag of report sets ignored.
* [MNG-5157] - NPE stemming from DefaultModelBuilder.containsCoordinates
* [MNG-5163] - MavenProject.getPluginRepositories misimplemented
* [MNG-5164] - Odd <name> of central in superpom
* [MNG-5165] - Problem with scp transport (wagon-maven-plugin 1.0-beta-3, Maven 2.2.1, Ubuntu 11.04)
* [MNG-5192] - prevent ConcurrentModificationException in parallel mode -Tx when project have errors
* [MNG-5221] - Default version of m-site-p does not work (no reports)
* [MNG-5224] - REGRESSION: Injected Settings in a Mojo are missing the profiles from settings.xml
* [MNG-5225] - The default version of the maven-site-plugin as defined in the site-lifecycle must be 3.x
** Improvement
* [MNG-4112] - Set property containing the currently executing maven version.
* [MNG-5073] - ProjectBuilder.build(File,ProjectBuildingRequest) returns null project if dependency version info is missing
* [MNG-5076] - Improve SEO of documentation of lifecycle.xml
* [MNG-5119] - improve site organization of core components
* [MNG-5134] - Standard documentation for build-in properties
* [MNG-5141] - Make MojoExecutor.ensureDependenciesAreResolved public
* [MNG-5151] - use CNAME or repo to provide more stability
* [MNG-5152] - upgrade wagon to the final 1.0 version
* [MNG-5158] - Make loading of extensions from lib/ext more robust with regard to existence of ext directory
* [MNG-5159] - Extend validation of settings.xml to check for uniqueness of id elements
* [MNG-5175] - replace wagon http lightweight with wagon http 2.1
* [MNG-5200] - upgrade plugin versions in super pom
* [MNG-5201] - upgrade aether to 1.13.1 and sisu to 2.3.0
** Task
* [MNG-5046] - Remove $Id$ from sources
** Test
* [MNG-5114] - Handling unrecognized version qualifiers
** Wish
* [MNG-5118] - add aggregated javadoc
項目構建工具 Maven介紹
目前,絕大多數開發人員都把 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 |
特性處理順序 |
|
|
構建規則 | 構建規則更為動態(類似于編程語言);它們是基于 Jelly 的可執行 XML。 | 構建規則或多或少是靜態的,除非使用
|
相關開發環境下的Maven插件:http://mevenide.codehaus.org/
下載地址:http://maven.apache.org/download.html
原文鏈接:http://www.oschina.net/news/24961/apache-maven-3-0-4-released
【編輯推薦】