前言:在某些情况下,我们在开发java代码的时候会用到多个远程仓库,有时候是不同的项目用的是不同的远程仓库,所以运维的时候经常需要切换远程仓库。这个时候我们就想能不能配置多个远程仓库,当一个远程仓库没有我们需要依赖的jar包的时候就去另外一个远程仓库下载,不需要我手动切换远程仓库。
常用配置:我们常用的配置是在maven的配置文件的 mirrors 标签中去配置远程仓库,但是 mirrors 标签中配置多个远程仓库的时候,只有第一个会生效,只有第一个仓库无法访问的时候才会使用第二个仓库,如果第一个仓库能访问,但是没有你所需要的依赖,那它是不会去第二个仓库中下载依赖的。所以如果在这里配置远程仓库的话,因为不同项目用到的依赖不一样,不是每个仓库中都有,这时候就需要你手动切换远程仓库。
https://blog.csdn.net/weixin_43448760/article/details/116129798
配置相关:
<profiles>
<profile>
<!-- id必须唯一 -->
<id>myRepository1</id>
<repositories>
<repository>
<!-- id必须唯一 -->
<id>myRepository1_1</id>
<!-- 仓库的url地址 -->
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</repository>
</repositories>
</profile>
<profile>
<!-- id必须唯一 -->
<id>myRepository2</id>
<repositories>
<repository>
<!-- id必须唯一 -->
<id>myRepository2_1</id>
<!-- 仓库的url地址 -->
<url>http://repository.jboss.org/nexus/content/groups/public-jboss/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</repository>
</repositories>
</profile>
</profiles>
启动多个仓库
<activeProfiles>
<!-- 激活myRepository1 -->
<activeProfile>myRepository1</activeProfile>
<!-- 激活myRepository2 -->
<activeProfile>myRepository2</activeProfile>
</activeProfiles>
(二)第二种方式:
【方式二】:在项目中添加多个仓库
修改项目pom文件
在项目中pom文件的repositories节点(如果没有手动添加)下添加多个repository节点,每个repository节点是一个仓库。
<repositories>
<repository>
<!-- id必须唯一 -->
<id>jboss-repository</id>
<!-- 见名知意即可 -->
<name>jboss repository</name>
<!-- 仓库的url地址 -->
<url>http://repository.jboss.org/nexus/content/groups/public-jboss/</url>
</repository>
<repository>
<!-- id必须唯一 -->
<id>aliyun-repository</id>
<!-- 见名知意即可 -->
<name>aliyun repository</name>
<!-- 仓库的url地址 -->
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</repository>
</repositories>
第二种方法试过有效;