这个问题 一般是Maven镜像没配置好,或者Maven这里远程仓库地址变动了

看下默认的仓库

  <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>

设置多级镜像仓库

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

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

profiles块内容

     <profile>
      <id>JD</id>
      <repositories>
        <repository>
          <id>JD_R1</id>
          <name>京东仓库1</name>
          <url>http://artifactory.jd.com/libs-releases</url>
          <layout>default</layout>
          <snapshotPolicy>always</snapshotPolicy>
        </repository>
      </repositories>
    </profile>

    <profile>
      <id>Alibaba</id>
      <repositories>
        <repository>
          <id>Alibaba_R1</id>
          <name>阿里巴巴仓库1</name>
          <url>https://maven.aliyun.com/repository/public</url>
          <layout>default</layout>
          <snapshotPolicy>always</snapshotPolicy>
        </repository>
      </repositories>
    </profile>

activeProfiles块内容

  <activeProfiles>
    <activeProfile>JD</activeProfile>
    <activeProfile>Alibaba</activeProfile>
  </activeProfiles>

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

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

发表回复

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