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配置多个镜像内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 详解Maven settings.xml配置(指定本地仓库、阿里云镜像设置)

    一.settings.xml文件会在两个目录下存在: 1.Maven安装目录(全局):%MAVEN_HOME%\conf\settings.xml 2.用户安装目录(用户):${user.home}\.m2\settings.xml 第一个是全局配置,第二个是用户配置.当两者都存在,它们的内容将被合并,特定于用户的settings.xml文件占主导地位. 如果从头开始创建用户特定的配置,可以将全局的settings.xml复制到${user.home}\.m2目录下. 我的Maven安装目录:(

  • Maven setting配置镜像仓库的方法步骤

    1.配置IDE构建的Maven存放目录(解压目录) 2.配置IDE的User setting file路径,修改setting配置文件 配置本地仓库 <!--自定义本地仓库路径--> <localRepository>E:\JAVA\Maven</localRepository> 配置mirrors远程镜像(一般配置一到两个镜像) <mirrors> <mirror> <id>alimaven</id> <name&

  • 详解阿里云maven镜像库配置(gradle,maven)

    经常使用maven远程仓库里jar包的同学,最头疼的事情莫过于加了jar包依赖配置之后,需要漫长的下jar包的过程,因为maven仓库网站是国外网站,速度非常的慢.在国内下好jar包放到本地再加载又过于麻烦. 以前有个oschina的国内maven镜像仓库地址,现在应该是弃用了(害得我也等了半天)现在国内的话主要使用阿里云的maven镜像仓库,速度很快~~~ gradle配置:将原来的mavenCentral()直接替换掉或者放到这个的前面(默认是从上往下寻找,所以要放到mavenCentral

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

    问题场景 1.国内访问maven默认远程中央镜像特别慢 2.用阿里的镜像替代远程中央镜像 3.大部分jar包都可以在阿里镜像中找到,部分jar包在阿里镜像中没有,需要单独配置镜像 解决方案 settings.xml 中可以使用变量,可以尝试使用变量解决: <mirrors> <!-- 阿里云仓库 --> <mirror> <id>alimaven</id> <mirrorOf>central</mirrorOf> <

  • maven配置阿里云仓库的实现方法

    目录 方式一:全局配置 方式二:单项目配置 方式一:全局配置 可以添加阿里云的镜像到maven的setting.xml配置中,这样就不需要每次在pom中,添加镜像仓库的配置,在mirrors节点下面添加子节点: <mirror> <id>nexus-aliyun</id> <mirrorOf>central</mirrorOf> <name>Nexus aliyun</name> <url>http://mav

  • maven配置阿里云仓库的实现方法(2022年)

    阿里云仓库地址已经由http改成https 以前:http://maven.aliyun.com/repository/public 现在:https://maven.aliyun.com/repository/public (1/3)完成的setings.xml配置如下: <?xml version="1.0" encoding="UTF-8"?> <settings> <!-- 本地仓库地址 --> <localRepo

  • 解读maven配置阿里云镜像问题

    目录 maven配置阿里云镜像 maven配置阿里云镜像仓库不生效 问题 解决方法 原因 maven配置阿里云镜像 打开maven配置文件,找到标签,添加如下: <mirrors>   <mirror>      <id>alimaven</id>      <name>aliyun maven</name>      <url>http://maven.aliyun.com/nexus/content/groups/pu

  • 浅谈使用Maven插件构建Docker镜像的方法

    本文介绍了使用Maven插件构建Docker镜像的方法,分享给大家,具体如下: 工具 工欲善其事,必先利其器.笔者经过调研,有以下几款Docker的Maven插件进入笔者视野: 插件名称 官方地址 docker-maven-plugin https://github.com/spotify/docker-maven-plugin docker-maven-plugin https://github.com/fabric8io/docker-maven-plugin docker-maven-pl

  • Maven配置项目依赖使用本地仓库的方法汇总(小结)

    Maven配置项目使用本地仓库有以下方式实现: 1.类似本地仓库,但是属于本地依赖,比如某个JAR包是引用第三方的,直接放在了项目的lib文件夹,那么此时可以如下配置项目的POM: <dependency> <groupId>ldapjdk</groupId> <artifactId>ldapjdk</artifactId> <scope>system</scope> <version>1.0</vers

  • intellij idea修改maven配置时总是恢复默认配置的解决方法idea版本(2020.2.x)

    该方法针对idea版本(2020.2.x) C:\Users\yanghao\AppData\Roaming\JetBrains\IntelliJIdea2020.2\options\project.default.xml <component name="MavenImportPreferences"> <option name="generalSettings"> <MavenGeneralSettings> <opti

  • 详解maven配置多仓库的方法示例

    刚接触maven就是在公司里配置好的,所以一直以来使用都没毛病,所以一直没有去动这些固有的东西. 但是,后来把公司的电脑拿回家之后,发现有的东西就搞不起来了.原因也看一下就明白了,因为在公司的时候用的是公司的maven私服,所以回家后,用不了也是正常. 但是,真的脱离了公司,自己就不能工作了吗?不可能吧. 难道一下开源工具都必须要依赖于公司的网络? 这明显是不合理的. 那么,就扯出本次文章的意义了,在家里,自然是要公有的maven仓库了,那么,怎样配置maven仓库才能让自己用起来顺心呢? 1.

  • maven 配置多个仓库的方法

    1>方法一 之前在配置 Maven 的 settings.xml 时,都会设置 mirror 节点,例如: <mirrors> <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central

随机推荐