看下默认的仓库

  <mirrors> 
    <mirror>
      <id>Central</id>
      <url>https://repo1.maven.org/maven2</url>
      <mirrorOf>central</mirrorOf>
    </mirror>
  </mirrors>

或者更换 阿里的镜像仓库(也包含了京东私有Maven仓库,用不就删除)

下面看似配置了3个,但是最终还是只使用最上面的镜像仓库哦!

  <mirrors>
    <mirror>
      <id>jdmaven1</id>
      <mirrorOf>*</mirrorOf>
      <name>京东内网络仓库1 需要连接海鸥使用</name>
     <url>http://artifactory.jd.com/libs-releases</url>
    </mirror>

    <mirror>
      <id>jdmaven2</id>
      <mirrorOf>*</mirrorOf>
      <name>京东内网络仓库2  需要连接海鸥使用</name>
      <url>http://artifactory.jd.com/libs-snapshots</url>
    </mirror>

    <mirror>
      <id>aliyunmaven</id>
      <mirrorOf>*</mirrorOf>
      <name>阿里云公共仓库</name>
     <url>https://maven.aliyun.com/repository/public</url>
    </mirror> 
  </mirrors>

设置多级镜像仓库 修改Maven使用的setting.xml

设置多环境请注释mirror的内容!!!

我一开始是直接添加仓库mirror,但是我在京东项目遇到:同时配置了阿里镜像仓库、京东镜像私服仓库,但是只走阿里镜像仓库(因为阿里配置在前面)。即便阿里没有仓库镜像也不会去京东私服去找。这2年一直用的阿里镜像库,基本没遇到这个问题。于是我才发现Maven不是默认自动降级使用其他仓库的。需要人为开启,配置profile,再配置activeProfiles只想profile的id标签。

mirror配置只能使用一个,配置再多,默认只认最上面的一个!

profiles + mirrors块内容

<mirrors>
	这里一定是空    
</mirrors>

<profiles>
    <profile>
        <id>alibaba</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <repositories>
            <repository>
                <id>Alibaba_R1</id>
                <name>阿里巴巴仓库1</name>
                <url>https://maven.aliyun.com/repository/public</url>
            </repository>
        </repositories>
    </profile>
    <profile>
        <id>jd</id>
        <repositories>
            <repository>
                <id>JD_R1</id>
                <name>京东仓库1</name>
                <url>http://artifactory.jd.com/libs-releases</url>
            </repository>
        </repositories>
    </profile>
</profiles>

activeProfiles块内容

<activeProfiles>
    <activeProfile>alibaba</activeProfile>
    <activeProfile>jd</activeProfile>
</activeProfiles>

我们在IDEA设置如下: (注意:dev、test是项目自带的pom.xml的内容。这里数据项目特有的,setting.xml 才是所有项目全局持有的环境)

配置完成,就会先从alibaba镜像仓库找,如果没有再去jd找,依次类推

多环境设置Maven总结

总的来说,settings.xmlpom.xml都是Maven的配置文件,但是它们的作用不同。settings.xml是全局的配置文件,用于配置Maven的全局设置;而pom.xml是每个项目的配置文件,用于配置项目的依赖、插件、构建等信息。

上述操作后,依旧无效。或重启IDEA ,无效,去重置IDEA缓存,注意你IDEA使用的是那个Maven。如果是Idea自带的Maven,你自己就去修改Idea自带的Maven配置吧!

特殊说明:
上述文章均是作者实际操作后产出。烦请各位,请勿直接盗用!转载记得标注原文链接:www.zanglikun.com
第三方平台不会及时更新本文最新内容。如果发现本文资料不全,可访问本人的Java博客搜索:标题关键字。以获取最新全部资料 ❤