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
【编辑推荐】