maven配置总结
一、pom.xml配置
1、自定义参数
<properties>
<slf4j.version>1.7.5</slf4j.version>
<logback.version>1.2.3</logback.version>
</properties>
2、依赖包版本管理
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>${logback.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
3、depoly发布路径配置
<distributionManagement>
<repository>
<id>maven-releases</id>
<url>http://xxx/maven-releases/</url>
</repository>
<snapshotRepository>
<id>maven-snapshots</id>
<url>http://xxx/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
4、设定远程仓库下载路径,按设定顺序依次下载
<repositories>
<-- 需要密码的到setting中找密码 -->
<repository>
<id>nexus-repos</id>
<name>releases</name>
<url>http://xxx/nexus/content/groups/public</url>
</repository>
<repository>
<id>oschina-repos</id>
<name>Oschina Releases</name>
<url>http://maven.oschina.net/content/groups/public</url>
</repository>
</repositories>
<-- 插件下载路径 -->
<pluginRepositories>
<pluginRepository>
<id>maven-net-cn</id>
<name>Maven China Mirror</name>
<url>http://maven.net.cn/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
5、环境变量配置(一般用于打包控制配置)
<profiles>
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault> #指定默认环境变量为dev
</activation>
<build>
<resources>
<resource>
<directory>src/main/exchange-robot/env-dev</directory> #指定资源文件路径
<filtering>false</filtering>
</resource>
</resources>
</build>
<properties>
<project.release.version>0.1</project.release.version> #打包时覆盖原来的版本属性
</properties>
</profile>
</profiles>
二、setting.xml配置
1、配置镜像(可以理解为代理)
<mirrors>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
# maven中有个顶级pom指定了中央仓库为central,只需要将这个仓库镜像到阿里云即可;也可以配置 *,!maven-releases,!maven-snapshots
</mirror>
</mirrors>
2、配置服务密码
<servers>
<server>
<id>maven-releases</id>
<username>admin</username>
<password>xxx</password>
</server>
<server>
<id>maven-snapshots</id>
<username>admin</username>
<password>xxx</password>
</server>
</servers>
3、配置统一远程仓库
避免源代码中配置仓库,由于setting中不支持repositories标签,远程仓库默认需要到pom中配置。这里通过统一profils设置
<profiles>
<profile>
<id>dev</id>
<repositories>
<repository>
<id>nexus-repos</id>
<name>releases</name>
<url>http://xxx/nexus/content/groups/public</url>
</repository>
<repository>
<id>oschina-repos</id>
<name>Oschina Releases</name>
<url>http://maven.oschina.net/content/groups/public</url>
</repository>
</repositories> </profile>
</profiles>
<activeProfiles>
<activeProfile>dev</activeProfile>
</activeProfiles>