项目中依赖的jar包在本地仓库找不到时,需要到远程仓库下载
若setting中配置了镜像,且镜像配置的规则匹配到目标仓库时,maven认为目标仓库被镜像,会去镜像仓库中下载
mirror
给id为central的仓库做镜像
*则代表所有仓库
<mirror>
<id>mirrorId</id>
<mirrorOf>central</mirrorOf>
<name>Test Central</name>
<url>http://xxx/maven-public</url>
</mirror>
profile
激活
<profiles>
<profile>
<!-- 该配置的唯一标识符 -->
<!-- 通过-P参数激活 -->
<id>tencent</id>
<!-- 标识什么情况下激活该profile -->
<activation>
<!-- 是否默认激活 -->
<activeByDefault>true</activeByDefault>
<!-- 根据os激活 -->
<os></os>
<!-- 根据jdk激活 -->
<jdk></jdk>
<!-- 根据-D参数激活 -->
<property>
<name></name>
<value></value>
</property>
</activation>
</profile>
</profiles>
id
mvn compile -Pdevelop
<profiles>
<profile>
<id>develop</id>
</profile>
<profile>
<id>test</id>
</profile>
<profile>
<id>online</id>
</profile>
</profiles>
os
<profiles>
<profile>
<!--当os为Windows XP时,该profile生效-->
<os>
<name>Windows XP</name>
<family>Windows</family>
<arch>x86</arch>
<version>5.1.2600</version>
</os>
</profile>
</profiles>
jdk
<profiles>
<profile>
<activation>
<!--当jdk版本为1.7时,该profile生效-->
<jdk>1.7</jdk>
<!--当jdk版本大于1.5,小于等于1.8时,该profile生效-->
<jdk>(1.5,1.8]</jdk>
</activation>
</profile>
</profiles>
property
mvn install -Ddebug=true
<profiles>
<profile>
<activation>
<!--当名称为debug的参数被定义时,且值为true时,该profile生效-->
<property>
<name>debug</name>
<value>true</value>
</property>
</activation>
</profile>
</profiles>
发布
测试环境发SNAPSHOT版本的,线上环境发Release版本的
mvn deploy -Ptest
mvn deploy -Ponline
<project>
<groupId>xxx</groupId>
<artifactId>xxx</artifactId>
<version>${project.version}</version>
<profiles>
<profile>
<id>test</id>
<properties>
<project.version>1.0.0-SNAPSHOT</project.version>
</properties>
</profile>
<profile>
<id>online</id>
<properties>
<project.version>1.0.0</project.version>
</properties>
</profile>
</profiles>
</project>