Maven 配置多个远程仓库 (都生效办法)

前言:在某些情况下,我们在开发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>

第二种方法试过有效;

欢迎您的到来,感谢您的支持!

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注