maven配置多个镜像的实现方法

 更新时间:2020年06月30日 11:40:13   作者:佩奇er  
这篇文章主要介绍了maven配置多个镜像的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

问题场景

1、国内访问maven默认远程中央镜像特别慢

2、用阿里的镜像替代远程中央镜像

3、大部分jar包都可以在阿里镜像中找到,部分jar包在阿里镜像中没有,需要单独配置镜像

解决方案

settings.xml 中可以使用变量,可以尝试使用变量解决:

 <mirrors>
    <!-- 阿里云仓库 -->
    <mirror>
      <id>alimaven</id>
      <mirrorOf>central</mirrorOf>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
    </mirror>
  
    <!-- 中央仓库1 -->
    <mirror>
      <id>repo1</id>
      <mirrorOf>central</mirrorOf>
      <name>Human Readable Name for this Mirror.</name>
      <url>http://repo1.maven.org/maven2/</url>
    </mirror>
  
    <!-- 中央仓库2 -->
    <mirror>
      <id>repo2</id>
      <mirrorOf>central</mirrorOf>
      <name>Human Readable Name for this Mirror.</name>
      <url>http://repo2.maven.org/maven2/</url>
    </mirror>
 </mirrors>

在maven的配置文件setting.xml大里面有个mirrors节点,用来配置镜像URL。mirrors可以配置多个mirror,每个mirror有id,name,url,mirrorOf属性,

id是唯一标识一个mirror,name节点名,url是官方的库地址,mirrorOf代表了一个镜像的替代位置,例如central就表示代替官方的中央库 

虽然mirrors可以配置多个子节点,但是它只会使用其中的一个节点,即默认情况下配置多个mirror的情况下,只有第一个生效,只有当前一个mirror

无法连接的时候,才会去找后一个;而我们想要的效果是:当a.jar在第一个mirror中不存在的时候,maven会去第二个mirror中查询下载,但是maven不会这样做!

注意:

   配置多个mirror时,mirrorOf不能配置" * "," * " 的意思就是(根据mirrorOf和repository的id)匹配所有的仓库(repository),

这样就是说如果你需要某个jar,他会从镜像地址去下载这个jar。不管你配置了多少个库,即使这些库的地址不一样,仍然会从镜像地址访问

到此这篇关于maven配置多个镜像的实现方法的文章就介绍到这了,更多相关maven配置多个镜像内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

相关文章

  • Spring AOP实现打印HTTP接口出入参日志

    Spring AOP实现打印HTTP接口出入参日志

    这篇文章主要为大家详细介绍了Spring AOP如何实现打印HTTP接口出入参日志功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2022-09-09
  • Feign调用全局异常处理解决方案

    Feign调用全局异常处理解决方案

    这篇文章主要介绍了Feign调用全局异常处理解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • Spring boot创建自定义starter的完整步骤

    Spring boot创建自定义starter的完整步骤

    这篇文章主要给大家介绍了关于Spring boot创建自定义starter的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Spring boot具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-09-09
  • Java编程在方法中哪些时候需要参数

    Java编程在方法中哪些时候需要参数

    这篇文章主要介绍了Java编程在方法中哪些时候需要参数,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • Springboot集成minio实现文件存储的实现代码

    Springboot集成minio实现文件存储的实现代码

    MinIO 是一款基于Go语言的高性能对象存储服务,本文主要介绍了Springboot集成minio实现文件存储的实现代码,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • spring security国际化及UserCache的配置和使用

    spring security国际化及UserCache的配置和使用

    这篇文章主要介绍下国际化的配置及UserCache的配置及使用教程,感兴趣的朋友参考下实现代码吧
    2017-09-09
  • JAVA数字千分位和小数点的现实代码(处理金额问题)

    JAVA数字千分位和小数点的现实代码(处理金额问题)

    这篇文章主要介绍了JAVA数字千分位和小数点的现实代码(处理金额问题),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-10-10
  • 2018年java技术面试题整理

    2018年java技术面试题整理

    小编为大家整理了2018年最新的关于java技术相关的面试题,以及给出了最简简答方式,学习下吧。
    2018-02-02
  • 解决Nacos集群启动失败:java版本问题

    解决Nacos集群启动失败:java版本问题

    这篇文章主要介绍了解决Nacos集群启动失败:java版本问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • mybatis框架order by作为参数传入时失效的解决

    mybatis框架order by作为参数传入时失效的解决

    这篇文章主要介绍了mybatis框架order by作为参数传入时失效的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06

最新评论