首页 > IT职业 > IT生活 > Maven 2 简明学习指南(1)
Maven 2 简明学习指南(1)
[@more@]MAVEN 2 简明使用说明
作者:不遗余力
1 前言
现在JAVA开发过程中,我们开发人员大都选择使用Ant来构建项目,因为Ant在项目构建中能够满足绝大多数开发人员的需要,但是另外的问题也同时存在,在开发大型系统时,Ant越来越不能满足我们在项目管理上的需求(如开发人员/拥有者、版本或站点主页等)。而且ANT构建文件的编写也是一个比较头痛的问题,虽然可以使用现有的Ant文件来改写,但是这也是一个很繁重的任务。有没有一种更好的,更简单更高效的工具来帮助我们呢?答案是肯定的,早期的Maven1就已经有很强的功能了,Maven 2(有时也被称为“m2”)完成了对Maven 1的重写。重写的首要目的是要提供了强大的Java构建和包含API的项目,允许Maven被植入任何地方,尤其是高级别的产品如IDEs、质量工具、报告工具等这些。Maven 2构建生命周期的概念正式话,其比Maven1更易扩展。可以在http://maven.apache.org 下载Maven 2的最新版本,更多的介绍可以在其官方介绍中找到。
2.1 Ant和Maven的区别:
作为构建工具,Maven和Ant一样,利用构建配置文件进行编译,打包,测试等操作。您可以用Maven自带的功能进行任何的操作,但前提是做好了相应的配置。当然,修改已有的模板来开始新的项目是个好方法。除非您在写特有的task,不然都会有target重用的问题。Maven进行了一些改进。您将项目配置内容写成XML文件,并且可以使用很多Maven自带的功能。另外还可以在Maven项目中调用任何Ant的task。
当然Ant和Maven也有很多相似之处。比如说,在两种情况下,XML 脚本都是可用的;两个
工具都可以生产工件;它们还可以共享相同的分类法和概念,比如:项目(project)、目标(target),以及 依赖关系(depends)和先决条件(Precondition)。但它们实质上有很大的差别。具体表现为:
Maven | Ant | |
标准构建文件 | project.xml 和 maven.xml | build.xml |
特性处理顺序 | ${maven.home}/bin/driver.properties ${project.home}/project.properties ${project.home}/build.properties ${user.home}/build.properties 通过 -D 命令行选项定义的系统特性 最后一个定义起决定作用。 | 通过 -D 命令行选项定义的系统特性 由 第一个定义最先被处理。 |
构建规则 | 构建规则更为动态(类似于编程语言);它们是基于 Jelly 的可执行 XML。 | 构建规则或多或少是静态的,除非使用
|