Apache Maven 3.0.4发布

开发 后端
Maven 除了以程序构建能力为特色之外,还提供 Ant 所缺少的高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目,而使用 Ant 则需要十几行。事实上,由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目现在使用 Maven,而且公司项目采用 Maven 的比例在持续增长。

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
特性处理顺序
  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。 构建规则或多或少是静态的,除非使用

相关开发环境下的Maven插件:http://mevenide.codehaus.org/

下载地址:http://maven.apache.org/download.html

原文链接:http://www.oschina.net/news/24961/apache-maven-3-0-4-released

【编辑推荐】

  1. Magnolia 4.5发布 Java的企业级CMS系统
  2. ExpressionJ 0.9 Beta2发布 Java算数表达式计算
  3. Apache Camel 2.9.1发布 Java规则引擎
  4. EWeb4J-1.8.6发布 Java开源框架
  5. GateIn 3.2.0.Final发布 Java开源门户平台
责任编辑:林师授 来源: 开源中国社区
相关推荐

2012-03-01 09:42:21

JavaApache Whir

2011-12-27 09:25:29

ApacheJava

2012-02-22 09:22:26

ApacheTomcat

2012-04-05 15:33:41

JavaEmpire-db

2012-01-18 11:08:42

Tomcat

2011-09-09 09:19:54

Java WebJava

2012-02-15 09:59:43

Apache

2012-01-05 10:26:26

JavaApache

2012-03-09 09:47:51

Apache CameJava

2011-11-25 14:29:08

JavaWeb开源框架

2011-09-05 14:58:57

ApacheDeep Securi

2010-03-30 10:07:37

NoSQL数据库

2012-03-02 10:14:12

JavaApache Ant

2009-06-22 13:33:00

Apache CXF2JAX-WS2.0

2011-09-16 15:55:09

Java

2011-10-27 10:02:58

Apache Derb

2012-02-08 14:16:55

Apache

2009-05-15 17:42:34

ApacheWeb开发Apache Slin

2009-06-21 13:37:53

2012-03-15 16:46:02

JavaMyBatis
点赞
收藏

51CTO技术栈公众号