Maven作为项目管理工具目前已经在很多公司使用,特备是有很多大型项目上更是需要自己搭建内网私服来对项目进行单独管理,在此就几种情况下maven的setting文件配置作以区分,以备后期使用,想了解每个配置项的具体功能或解释的,请移步https://blog.youkuaiyun.com/cbx_1993/article/details/79014360。
公共配置项,也就是什么场景都需要的:
1.自定义本地仓库路径(该配置为默认本地仓库存储地址)
<localRepository>E:\JAVA\Maven</localRepository>
2.关闭离线模式
<offline>false</offline>
1. 只需要依赖外部包的情况
若项目中只需要依赖Jar包,而不需要对Jar包进行发布,则只需要配置相应镜像即可。
以下提供国内较为常用的镜像配置(一般配置一到两个镜像)
<mirrors>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/mvn/view</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>jboss-public-repository-group</id>
<mirrorOf>central</mirrorOf>
<name>JBoss Public Repository Group</name>
<url>http://repository.jboss.org/nexus/content/groups/public</url>
</mirror>
<mirror>
<id>ibiblio</id>
<mirrorOf>central</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://mirrors.ibiblio.org/pub/mirrors/maven2/</url>
</mirror>
<mirror>
<id>repo2</id>
<mirrorOf>central</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://repo2.maven.org/maven2/</url>
</mirror>
</mirrors>
若依赖包有快照版,则需要配置对应快照版仓库地址
<mirrors>
<mirror>
<id>nexus-snapshots</id>
<name>nexus-snapshots</name>
<url>此处配置快照私服仓库地址</url>
<mirrorOf>snapshots</mirrorOf>
</mirror>
</mirrors>
注意区分mirrorOf标签的配置:
1.若镜像地址包含发布版和快照版,则建议配置为*;
2.若第一个镜像地址已配置为*,则后续镜像配置不再生效;
2. 需要进行版本发布时
进行版本发布的时候,需要有对应的私服登录授权才可以发布,而且版本间存在正式版与快照版并存的问题,此时需要配置servers标签(其中id对应repository中的id)和profiles标签,上述mirrors标签可去除,因为通过这种方式也可以进行依赖包下载
<servers>
<server>
<id>nexus-releases</id>
<username>admin</username>
<password>123456</password>
</server>
<server>
<id>nexus-snapshots</id>
<username>admin</username>
<password>123456</password>
</server>
</servers>
</profiles>
<profile>
<id>nexus</id>
<activation>
<activeBydefault>true</activeBydefault>
</activation>
<repositories>
<repository>
<id>nexus-releases</id>
<url>http://发布版地址</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>false</enabled></snapshots>
</repository>
<repository>
<id>nexus-snapshots</id>
<url>http://快照版地址</url>
<releases><enabled>false</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>nexus-releases</id>
<url>http://发布版地址</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>false</enabled></snapshots>
</pluginRepository>
<pluginRepository>
<id>nexus-snapshots</id>
<url>http://快照版地址</url>
<releases><enabled>false</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
最后需要添加activeProfiles标签激活刚才配置的profile
<!--注意:该标签必须放在profiles标签之后-->
<activeProfiles>
<activeProfile>nexus</activeProfile>
</activeProfiles>
写在最后:
setting文件的配置可以有多种方式,前面讲的是最简单的配置实现依赖包下载或版本的发布,若有纰漏还请指正