Maven,是一个软件(特别是Java软件)项目管理及自动构建工具,由Apache软件基金会所提供。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。
目前,绝大多数开发人员都把 Ant 当作 Java 编程项目的标准构建工具。遗憾的是,Ant 的项目管理工具(作为 make
的替代工具)不能满足绝大多数开发人员的需要。通过检查 Ant 构建文件,很难发现项目的相关性信息和其它元信息(如开发人员/拥有者、版本或站点主页)。
Maven 除了以程序构建能力为特色之外,还提供 Ant 所缺少的高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目,而使用 Ant 则需要十几行。
Maven 和 Ant 针对构建问题的两个不同方面。Ant 为 Java 技术开发项目提供跨平台构建任务。Maven 本身描述项目的高级方面,它从 Ant 借用了绝大多数构建任务。
| Maven | Ant |
标准构建文件 | project.xml 和 maven.xml | build.xml |
特性处理顺序 |
|
|
构建规则 | 构建规则更为动态(类似于编程语言);它们是基于 Jelly 的可执行 XML。 | 构建规则或多或少是静态的,除非使用 <script> 任务。(请参阅 参考资料以获得相关教程。) |
扩展语言 | 插件是用 Jelly(XML)编写的。 | 插件是用 Java 语言编写的。 |
构建规则可扩展性 | 通过定义 <preGoal> 和 <postGoal> 使构建 goal 可扩展。 | 构建规则不易扩展;可通过使用 <script> 任务模拟<preGoal> 和 <postGoal> 所起的作用。 |
项目对象模型(Project Object Model,POM)描述项目的各个方面。尽管对于 POM 的物理表示没有内在的限制,但 Maven 开发人员通常使用一个 XML 项目文件(project.xml)。该 XML 文件格式由位于 Maven 安装目录中的 XML 模式(maven-project.xsd)定义。
通常,project.xml 文件由三个主要部分组成:
- 项目管理部分包括项目的组织、开发人员名单、源代码位置和错误跟踪系统 URL 等信息。
- 项目相关性部分包括关于项目相关性的信息。当前 Maven 实现(1.0 beta 测试版 8)仅支持 JAR 文件相关性。
- 项目构建和报告部分包含项目构建信息(如源代码目录、单元测试用例目录)和要在构建中生成的报告。
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- A project file's root element -->
<project>
<!-- The POM version. This tag is currently unused. -->
<pomVersion>3</pomVersion>
<!-- A project group id. If present, the id serves as the project's
directory name in the repository -->
<groupId>crayola-group</groupId>
<!-- A unique project identifier. The project identifier and its
version number often generate file/directory names during the
build. For example, a project JAR file follows the
<id>-<version> naming convention. -->
<id>crayola</id>
<!-- A short name for the project -->
<name>Crayola Professional</name>
<!-- The project version number. Maven does not enforce a particular
version numbering scheme. -->
<currentVersion>0.0.1</currentVersion>
...
<!--
---------------------------------------------------------------- -->
<!-- Project management section -->
<!--
---------------------------------------------------------------- -->
...
<!--
---------------------------------------------------------------- -->
<!-- Project dependency section -->
<!--
---------------------------------------------------------------- -->
...
<!--
---------------------------------------------------------------- -->
<!-- Project build and reports section -->
<!--
---------------------------------------------------------------- -->
...
</project>
Maven的安装配置
下载maven二进制版本,解压,然后设置maven环境
变量名:M2_HOME
变量值:C:\app\apache-maven-2.2.1
找到path ,在环境变量值尾部加入:;%M2_HOME%\bin;---前面注意分号
打开命令提示符(开始---运行---cmd),输入 mvn -v,查看输出是否正确:
C:\windows\system32>mvn -v
Apache Maven 2.2.1 (r801777; 2009-08-07 03:16:01+0800)
Java version: 1.6.0_10-rc2
Java home: C:\Program Files (x86)\Java\jdk1.6.0_10\jre
Default locale: zh_CN, platform encoding: GBK
OS name: "windows vista" version: "6.2" arch: "x86" Family: "windows"
修改仓库位置
我们打开conf\目录下的setting.xml文件,设置成自己的仓库路径
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ~/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
-->
<localRepository>C:\workspace\maven</localRepository