Maven是一款软件项目管理和构建工具,它基于项目对象模型(POM),能够以集中信息(pom.xml)来管理项目的构建、报告和文档。本文简要介绍Maven的常用配置和使用方法。
设置中央仓库镜像
Maven默认的中央仓库指向http://repo.maven.apache.org/maven2
,由于在美国,访问速度较慢,可以使用国内的镜像或者自行搭建私服(Nexus Repository Manager),以阿里云镜像为例,修改${user.home}/.m2/settings.xml
:
<settings>
<mirrors>
<mirror>
<id>aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Aliyun Central</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
</mirrors>
</settings>
<mirrorOf>central</mirrorOf>
表示此镜像用于central仓库,mirrorOf支持如下格式:
- = everything
- external:* = everything not on the localhost and not file based.
- repo,repo1 = repo or repo1
- *,!repo1 = everything except repo1
生命周期
Maven的构建过程划分为生命周期(lifecycles)、阶段(phases)和目标(goals),一个生命周期由多个阶段组成,一个阶段由多个目标组成。
POM文件
最简单的POM文件示例:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany.app</groupId>
<artifactId>my-app</artifactId>
<version>1.0-SNAPSHOT</version>
</project>
POM文件支持继承
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.codehaus.mojo</groupId>
<artifactId>my-parent</artifactId>
<version>2.0</version>
<relativePath>../my-parent</relativePath>
</parent>
</project>
可以使用命令mvn help:effective-pom
查看最终合并取值好的POM文件内容。