转载 http://blog.csdn.net/isea533/article/details/21560089

在maven中配置一个mirror时,mirror通常会设置成*,还有可能是一个具体的值,还有可能是逗号隔开的几个值..

例如:

1.*

2.repo3

3.repo1,repo2,*,!repo3

4.external:*

在上面4个例子中,第一个例子中*的意思就是(根据mirrorOf和repository的id)匹配所有的库(repository),这样就是说如果你需要某个jar,他会从镜像地址去下载这个jar。不管你配置了多少个库,即使这些库的地址不一样,仍然会从镜像地址访问,这里就产生了问题。

问题:为什么我配置好了库(repository),但是下载不下来(或者下载地址不对)?

这个问题已经很明白了,就是镜像(mirror)的问题。

问题:如何解决上述问题呢?

这里请继续看第二个例子和第三个例子。

第二个例子只配置了一个repo3,这个镜像只能匹配id是repo3的库,该库会使用repo3的镜像访问。这里说重点了,即使存在一个*的,这里会先查找完全相同的存储库标识符匹配的镜像,如果找到了,就用匹配的,这里就是repo3,这点可以放心。如果找不到,那就去根据其他的mirrorOf查找去,查找到一个就使用。这里需要注意的是,如果存在多个重复的mirrorOf,只会用排名靠前的第一个(按照配置顺序来)。如果一个都没有,就会用maven中央库。

第三个例子是用逗号隔开的好几个,并且有一个特殊的!repo3,一般!的意思是非,这里的意思就是,就是排除repo3的情况。综合起来第三个的含义就是完全匹配repo1,repo2和其他全部库,排除repo3库。

到这里,第二个问题已经有了答案,给这个库配置单独的镜像,而且位置尽量在前面,id和mirrorOf一致。说到这两个一致,还得说两个不能一致的情况,就是mirror的mirrorOf不能和任何mirror的id一致,因为id在setting中唯一,mirrorOf要和库的id一致,所以势必不能和mirror的id一致,如果一致显然就起不到作用了(这里属于猜测,官方要求不能一致)。

第四个例子很特殊,含义就是匹配本地库之外的全部库。如果本地库存在,就用本地库的。

maven mirrorOf的更多相关文章

  1. Maven 从安装到环境配置到项目搭建

    maven是基于项目对象模型(pom),可以通过一小段的描述信息来管理项目的构建,报告和文档的软件项目管理工具. Maven是构建项目的管理工具,白话就是说:“Maven的核心功能便是合理叙述项目间的 ...

  2. jenkins AWS CodeDeploy不停机部署

    此项目的特点是把Jenkins与CodeDeploy相结合做的CICD做的蓝绿发布,CI与CD 是分开的,CI构建完以后以BuildNumber的形式把war包存至AWS的S3桶中.同时在java项目 ...

  3. Maven settings配置中的mirrorOf

    原文地址:http://blog.csdn.net/isea533/article/details/21560089 使用maven时,从来没仔细注意过setting配置节点的作用,直到今天配置总是不 ...

  4. 浅谈maven setting.xml 设置的mirrorof标签作用。

    https://blog.csdn.net/whbing1471/article/details/53983779 A 看这一段 背景:写好的java项目放置到linux服务器上进行编辑的时候,由于m ...

  5. 解决maven下载jar慢的问题(如何更换Maven下载源)

    修改 配置文件 maven 安装 路径 F:\apache-maven-3.3.9\conf 修改 settings.xml 在 <mirrors> <!-- mirror | Sp ...

  6. Maven仓库搭建和配置

    maven在本地搭建仓库的实际需求maven在项目构建过程需要下载一些必要的软件包,这些默认的下载链接都是访问maven的远程中央仓库Central Repo.如果项目中的成员,每次第一次构建的时候都 ...

  7. Maven实战:pom.xml与settings.xml

    pom.xml与settings.xml pom.xml与setting.xml,可以说是Maven中最重要的两个配置文件,决定了Maven的核心功能,虽然之前的文章零零碎碎有提到过pom.xml和s ...

  8. 国内maven镜像,快的飞起

    在oschina关来关去的烦恼下,终于受不了去寻找其他公共库了. 阿里云maven镜像 <mirrors> <mirror> <id>alimaven</id ...

  9. (十一)Maven远程仓库的各种配置

    1.远程仓库的配置 在平时的开发中,我们往往不会使用默认的中央仓库,默认的中央仓库访问的速度比较慢,访问的人或许很多,有时候也无法满足我们项目的需求,可能项目需要的某些构件中央仓库中是没有的,而在其他 ...

随机推荐

  1. 安卓SQLite数据库操作(下)

    在安卓开发中,数据库的操作无非就是增删改查.那么,这里我们通过例子来学习这四个操作. 我们先看代码吧.具体讲解后面说. 布局文件 activity_main.xml <LinearLayout ...

  2. c++primer-p100.用迭代器进行二分法搜索

    #include <vector> #include <iostream> using namespace std; int main() { vector<int> ...

  3. 下载Django

    Django下载教程以及学习教程https://code.ziqiangxuetang.com/django/django-queryset-api.html 或者直接搜索自强学堂

  4. AudioFormat

    AudioFormat   用于访问 一系列语音格式和通道配置常量 例如用于AudioTrack 和AudioRecord中 The AudioFormat class is used to acce ...

  5. c类库,委托,var ,运算符 is 和 as 。

    类库(Class Library)  格式   .dll  文件 类库   就是类的仓库 c#代码被编译过以后的文件,不可阅读,不可修改,只能调用. 类库是一个综合性的面向对象的可重用类型集合,这些类 ...

  6. 简单的jQuery前端验证码校验

    简单的jQuery前端验证码校验2 html; <!DOCTYPE html> <html lang="zh-cn"> <head> <m ...

  7. php学习笔记-php中的比较运算符

    其中比较难懂的是==和=== ==是只比较两个变量的值,不仅仅是用于比较两个数是否相等,还可以比较int和string,不过会先转化string为int类型再比较,值相等则返回true,值不相等则返回 ...

  8. PS中图层混合模式的计算方法

    https://zhuanlan.zhihu.com/p/23905865 长久以来一直用中文版本的PS,对于软件中的一些专业名字都是顾名思义,容易误入歧途,但当你真正看到英文版本的名字的时候才有豁然 ...

  9. 数字图像处理实验(1):PROJECT 02-01, Image Printing Program Based on Halftoning 标签: 图像处理MATLAB 2017-04-2

    实验要求: Image Printing Program Based on Halftoning Objective: To know in principle what is "halft ...

  10. head first 设计模式 策略模式

    HEAD FIRST:策略模式定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户. 设计模式:定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换.本 ...