maven配置两个远程仓库源,第一个获取不到,去第二个源下载

时间:2025-03-17 17:37:35

maven配置多个镜像是无用的,默认只会从第一个有效镜像搜索包,当找不到依赖时候就会报错,而这我们可以配置先去阿里maven仓库寻找,找不到然后再去maven官方仓库寻找,关于这个策略如何配置,可以查看下面的,拷贝着去修改maven的文件

<profiles>
    <profile>
        <!-- id必须唯一 -->
        <id>myRepository1</id>
        <repositories>
            <repository>
                <!-- id必须唯一 -->
                <id>myRepository1_1</id>
                <!-- 仓库的url地址 -->
                <url>/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>/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>

上面描述的操作觉得麻烦,可以

针对某个项目的进行修改

<repositories>
    <repository>
        <!-- id必须唯一 -->
        <id>jboss-repository</id>
        <!-- 见名知意即可 -->
        <name>jboss repository</name>
        <!-- 仓库的url地址 -->
        <url>/nexus/content/groups/public-jboss/</url>
    </repository>
    <repository>
        <!-- id必须唯一 -->
        <id>aliyun-repository</id>
        <!-- 见名知意即可 -->
        <name>aliyun repository</name>
        <!-- 仓库的url地址 -->
        <url>/nexus/content/groups/public/</url>
    </repository>
</repositories>