maven镜像仓库配置(多镜像自动切换)

大家在使用IDEA的时候会遇到这样的一个问题,就是在下载源代码和资源文档的时候,有些镜像仓库里面没有源代码和资源文档,然后会导致下载失败。
这时候就需要多个镜像仓库的地址了。

附上我自己的配置文件:

  <mirrors>
    <!-- 阿里云仓库 -->
    <!-- 中央仓库在中国的镜像 -->
   <mirror>
       <id>alimaven</id>
       <name>aliyun maven</name>
       <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
       <mirrorOf>central</mirrorOf>
   </mirror>

   <mirror>
       <id>central</id>
       <name>Maven Repository Switchboard</name>
       <url>http://repo1.maven.apache.org/maven2/</url>
       <mirrorOf>*</mirrorOf>
   </mirror>
   <!-- sping  -->
   <mirror>
       <id>sprintio</id>
       <mirrorOf>central</mirrorOf>
       <name>Human Readable Name for this Mirror.</name>
       <url>https://repo.spring.io/libs-snapshot/</url>
       <mirrorOf>*</mirrorOf>
   </mirror>
   
   <!-- google  -->
   <mirror>
       <id>google</id>
       <name>google maven</name>
       <url>https://maven.google.com/</url>
       <mirrorOf>*</mirrorOf>
   </mirror>


    <mirror>
      <id>maven-default-http-blocker</id>
      <mirrorOf>external:http:*</mirrorOf>
      <name>Pseudo repository to mirror external repositories initially using HTTP.</name>
      <url>http://0.0.0.0/</url>
      <blocked>true</blocked>
    </mirror>
  </mirrors>

mirror标签中有个 mirrorOf标签,
注意: 值为center,表示当前镜像为远程中央仓库的镜像

mirrorOf可以理解“为某个仓库(repository)的做镜像”,填写的是repostoryId。
”*“ 的意思就是匹配所有的仓库(repository)。
相当于一个拦截器,它会拦截maven对remote repository的相关请求,把请求里的remote repository地址,	
重定向到mirror里配置的地址。apache-maven的settings.xml不做任何配置时是有默认的仓库的,这个仓库就是central仓库,默认值是https://repo.maven.apache.org/maven2/,我们可以配置mirrorOf=central只镜像默认的central仓库。如果你只配置了mirrorOf=”my-repo-id“没有配置central或*,那么请求maven会判断,首先在默认的central仓库https://repo.maven.apache.org/maven2/找依赖,如果找不到就去my-repo-id对应的仓库找,遍历所有仓库后找不到就报错。
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Maven 是一款流行的 Java 构建工具,可以自动化构建、测试和部署 Java 应用程序。在使用 Maven 进行构建项目时,通常需要从中央库中下载大量的依赖包。然而,由于中央库的速度和稳定性限制,访问中央库可能会变得缓慢和不可靠。因此,我们可以配置 Maven镜像来提高构建速度和可靠性。 首先,在 Maven配置文件 pom.xml 中加入如下代码: <mirrors> <mirror> <id>mirrorId</id> <mirrorOf>central</mirrorOf> <!-- 镜像中央库 --> <name>mirrorName</name> <url>http://mirrorUrl</url> </mirror> </mirrors> 其中,id 为镜像 ID,name 为镜像名称,url 为镜像地址,mirrorOf 为需要镜像仓库,central 表示镜像 Maven 中央库,也可以加入其他需要镜像仓库。 然后,在本地 Maven 仓库目录(默认为用户目录下的 .m2 文件夹)中,创建 settings.xml 配置文件。在该文件中加入如下代码: <mirrors> <mirror> <id>mirrorId</id> <mirrorOf>central</mirrorOf> <!-- 镜像中央库 --> <name>mirrorName</name> <url>http://mirrorUrl</url> </mirror> </mirrors> 同样需要配置相应的 ID、name、url 和 mirrorOf。这样,以后在构建项目时,Maven 将会自动配置好的镜像下载依赖包,加快构建速度。我们可以通过 Maven 的日志输出来查看依赖包的下载情况。 需要注意的是,如果多个镜像都包含同一依赖包,Maven 会选择其中速度最快的镜像下载该依赖包。因此,在配置多个镜像时,应尽量选择速度较快、稳定性更高的镜像

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值