当您的项目逐渐变得庞大和复杂时,最好使用一种构建工具来自动构建您的项目。例如,一个典型的java项目,每次构建时都要经历编译java源代码,把class文件打成.jar包,生成javadocs文档等步骤。这些步骤都可以用构建工具帮您自动完成。说到构建工具,大家肯定都知道make,但make是依赖具体操作系统的。Java-centric选择了Ant,一种可以跨平台的使用xml来替换Makefile糟糕语法的构建工具。
来自Apache软件组织的构建工具Maven更可能成为您的选择,Maven不仅提供了out-of-the-box的解决方案来统一处理构建相关的任务,还提供了信息统计的功能。使您的开发团队可以更好地跟踪项目的进展情况。
Maven的原理
作为构建工具,Maven和Ant一样,利用构建配置文件进行编译,打包,测试等操作。您可以用Maven自带的功能进行任何的操作,但前提是做好了相应的配置。当然,修改已有的模板来开始新的项目是个好方法。除非您在写特有的task,不然都会有target重用的问题。
Maven进行了一些改进。您将项目配置内容写成XML文件,并且可以使用很多Maven自带的功能。另外还可以在Maven项目中调用任何Ant的task。
Maven自带的"goals"有以下功能:
编译源代码
产生Javadoc文档
运行unit测试
源代码文法分析
产生违反团队编码规范的详细报告
产生CVS最新提交报告
产生CVS更改最频繁的文件报告和提交最频繁的开发人员报告
产生可以交叉引用的HTML格式的源代码,等等。
Maven的功能是通过众多的插件来实现的。在Maven的网站上可以找到一个Maven插件列表。例如,创建EAR包和控制J2EE应用服务器的插件。
Maven 的另外一个特色是利用中央构建资源库去访问您项目中需要的.jars(像Perl's CPAN)。您只用列出需要的.jars及相应版本,Maven会自动下载。当第一次运行Maven,或者运行一个新的goal时,可以在控制台上看到中央构建资源库下载.jars的详细过程。这一功能不仅使Maven 更加容易使用,而且能帮您省下不少搜集维护本地或远程构建资源库中.jars版本的时间和精力。
Maven的易用性来源于配置过程的自然性。Out of the box,不仅提供了项目构建的基本步骤,还可以自定义项目对象模型(POM)。POM基于易于编辑的XML格式,由不同元素的名称和属性组成。一旦您完成POM的配置,就可以在构造过程中使用很多Maven自带的激动人心的功能。
Maven也易于自定义,特别是当您已经熟悉Ant后。您可以增加新的功能或钩子到已有的构造过程以添加自定义的步骤。通过修改maven.xml文件可以添加自定义的功能。
Maven2 的安装
安装Maven2的步骤非常简单:首先从Maven官方网站下载相应的软件包,目前是Maven 2.0.1;然后解压,并设置环境变量M2_HOME= Maven2的解压安装目录;最后将%M2_HOME%/bin添加到path中,方便Maven在任何目录下运行。
Maven2的运行命令是mvn,使用mvn -h可以获得相关的帮助信息。常用情形:
- 创建Maven项目:mvn archetype:create
- 编译源代码:mvn compile
- 编译测试代码:mvn test-compile
- 运行测试:mvn test
- 产生site:mvn site
- 打包:mvn package
- 在本地Repository中安装jar:mvn install
- 清除产生的项目:mvn clean
Maven的常用命令
1.创建Maven目录
mvn archetype:create -DgroupId=com.yourCompanyName -DartifactId=yourAppName
2.测试
mvn test
3.编译类
mvn compile
4.打包
mvn package
5.生成Site
mvn site
5.清除
mvn clean
以上命令都是在command窗口运行的.它们还可以混合运行,如mvn test compile package,在以后的讲述中会逐渐用到它们.
附录:
Maven的生命周期及其与之对应的命令:
validate:验证工程是否正确,所有需要的资源是否可用。
compile:编译项目的源代码。
test-compile:编译项目测试代码。
test:使用已编译的测试代码,测试已编译的源代码。
package:已发布的格式,如jar,将已编译的源代码打包。
integration-test:在集成测试可以运行的环境中处理和发布包。
verify:运行任何检查,验证包是否有效且达到质量标准。
install:把包安装在本地的repository中,可以被其他工程作为依赖来使用
deploy:在整合或者发布环境下执行,将最终版本的包拷贝到远程的repository,使得其他的开发者或者工程可以共享。
generate-sources:产生应用需要的任何额外的源代码,如xdoclet。
分享到:
相关推荐
**Maven使用简介** 在Java开发领域,Maven是一个不可或缺的构建工具,它极大地简化了项目的构建、管理和依赖管理过程。Maven通过一个统一的项目对象模型(Project Object Model,POM),使得开发者可以轻松地定义...
#### Maven 简介与特点 Maven 是一款强大的项目管理和构建工具,主要用于 Java 项目的管理。Maven 提供了统一的标准流程来管理项目的生命周期、依赖关系以及项目信息等,极大地提高了开发效率并简化了构建过程。 -...
**Idea + Maven 使用教程** ...本教程提供的 "Maven简介及安装.pdf" 和 "安装IDEA.pdf" 文档,将详细介绍上述内容,对于初学者来说是很好的参考资料。通过学习,你将能够熟练地在 Idea 中使用 Maven 进行开发工作。
Maven简介** 1.1 什么是Maven Maven是一个基于项目对象模型(POM)的项目管理工具,它可以管理项目的构建、报告和文档。Maven通过使用XML文件来定义项目配置,这个文件通常被称为POM(Project Object Model)。POM...
maven 构建框架的安装手册和使用简介
#### Maven简介 Maven是一款由Apache软件基金会提供的开源项目管理工具,主要用于Java项目的构建、依赖管理和项目信息管理。它基于项目对象模型(POM),通过一系列标准化的任务来帮助开发者更容易地构建项目。 ###...
Maven使用讲解.ppt Maven简介及安装 Maven基本使用 Maven基本概念 POM介绍 Maven多模块项目 Maven插件应用 Maven仓库
### Maven简介、安装和配置 Maven与早期的构建工具Ant相比,拥有约定优于配置的理念,它是面向对象的,而Ant是面向过程的。Maven有一套固定的生命周期,通过这个生命周期,Maven可以自动地执行一系列构建步骤,从而...
Maven简介、Maven主要做什么用? 项目对象模型(POM) 坐标(Coordinates)、打包方式(Packaging)、项目描述 项目子父级关系(parent) 依赖管理(dependency),冲突了怎么办 组合及其继承(modules)、生命周期及阶段、常用...
1. **Maven简介** Maven是一个基于项目对象模型(Project Object Model, POM)的项目管理工具。通过POM,Maven可以管理项目依赖、构建过程、报告和文档。Maven使用统一的构建生命周期,使得项目构建具有可预测性和...
在本文中,我们将深入探讨Maven 2的核心概念、功能以及如何使用它来提高开发效率。 **一、Maven的概念** 1. **项目对象模型(Project Object Model, POM)** Maven 的核心是POM,它是项目配置的中心。POM是一个...
**Maven简介** Maven是Apache软件基金会开发的一个项目管理工具,它基于项目对象模型(Project Object Model,POM),通过使用预定义的构建生命周期和依赖管理系统,可以自动化构建过程。Maven的出现,替代了传统的...
1.1.maven简介 1.2.maven的作用 1.3.maven的安装 2.项目案例 2.1.构建项目 2.2.项目拆分 3.聚合和继承 3.1.聚合 3.2.继承 4.maven高级特性 4.1.属性配置 4.2.版本管理 4.3.资源管理 5.私服 5.1.nexus安装 5.2.仓库的...
### Maven Wrapper 简介及应用 #### 一、引言 在Java开发领域,构建工具扮演着举足轻重的角色。Maven作为最流行的构建工具之一,因其强大的依赖管理和项目构建能力而受到广泛欢迎。然而,对于某些场景,如在特定...
#### 一、Maven简介 Maven是一款自动化构建工具,它主要应用于Java项目中。Maven通过一系列规范化的构建过程,简化了项目的构建流程,提高了开发效率。Maven的核心功能包括依赖管理、生命周期管理以及插件机制等。 ...
maven使用简介 PPT文档 上传只为分享
**一、 Maven简介** 1. **作用**:Maven统一了构建过程,通过插件系统执行编译、测试、打包、部署等任务。它还自动解决项目依赖关系,避免手动管理jar文件的繁琐工作。 2. **基于约定优于配置**:Maven有一套默认...