一、前言

今天同事遇到个问题,本来公司是有maven私服的,但同事觉得上面有些东西下载不到,于是在自己本地的maven配置中加了:

<mirrors>

<mirror>
<id>bolRemote</id>
<mirrorOf>*</mirrorOf>
<name>cts</name>
<url>http://192.168.19.210:8081/nexus/content/groups/public/</url>
</mirror> <mirror>
<id>aliyun</id>
<mirrorOf>central</mirrorOf>
<name>ali yun</name>
<url>https://maven.aliyun.com/mvn/view</url>
</mirror> </mirrors>

然后下载个组件,说下载不下来。

二、解决

首先,这里我感觉很奇怪的是,下载时,加了-U,让其强制去私服下载。

但是我想的是,mirrorOf设为*之后,应该所有请求都会去私服下载啊,为啥日志里显示还去了aliyun的地址呢?

于是看了官方文档,也在本地进行了实验(wireshark抓包)。

抓包中看到了向aliyun.com发出的http请求,请求的地址为:

https://maven.aliyun.com/mvn/view/org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.jar

前半部分,地址就是仓库url的地址,后半部分为要下载的artifact的地址。

相当于:

maven本地在查找仓库时,是先查找了完全匹配的仓库,然后再查找私服。查找到仓库后,直接在仓库url后,拼接对应的组件的地址,然后请求服务器。

三、官方文档的说明

http://maven.apache.org/guides/mini/guide-mirror-settings.html

这里也可以看出来,是先去查找完全匹配的仓库镜像。比如,我要查central仓库,然后发现mirrors中配置了镜像,然后就查找central完全匹配的镜像地址。

然后找到了就用它,没找到,就看看是否有通配符那种的镜像。(一般私服就是用的mirrorOf *,这时候就匹配上了)。

更多细节,直接看官方文档吧。就

http://maven.apache.org/guides/mini/guide-mirror-settings.html

同事的问题在于,那个仓库的url不对,改为:

http://maven.aliyun.com/nexus/content/groups/public/即可。

maven 中的mirror详解的更多相关文章

  1. maven中scope标签详解

    前言 最近在做itoo的pom优化工作,发现对于maven依赖管理中的scope标签还是有不明白的地方,所以今天就来总结一下这方面的知识,scope在maven的依赖管理中主要负责项目的部署 mave ...

  2. maven中profiles使用详解

    使用的场景 常常遇到一些项目中多环境切换的问题.比如在开发过程中用到开发环境,在测试中使用测试环境,在生产中用生产环境的情况.springboot中提供了 spring.profile.active的 ...

  3. Maven中POM.XML详解

    转自https://blog.csdn.net/jariwsz/article/details/19554137 我们先看一个简单的例子: <project xmlns="http:/ ...

  4. maven中的Exclusions详解

    依赖关系:Project-A>Project-B>Project-C,但是Project-A不依赖Project-C,在Project-A中的POM.xml应该进行如下配置: <de ...

  5. Maven中的dependency详解

    <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> & ...

  6. Maven依赖中的scope详解,在eclipse里面用maven install可以编程成功,到服务器上用命令执行报VM crash错误

    Maven依赖中的scope详解 项目中用了<scope>test</scope>在eclipse里面用maven install可以编译成功,到服务器上用命令执行报VM cr ...

  7. Maven配置文件setting.xml详解

    注:本文来源于:大话JAVA的那些事 <Maven配置文件setting.xml详解> <?xml version="1.0" encoding="UT ...

  8. JAVA Eclipse使用Maven构建web项目详解(SSM框架)

    tips: 启动项目后,welcome-file的链接即为测试用例 部署maven web项目 Eclipse使用Maven构建web项目详解 pom.xml添加webapp依赖: <depen ...

  9. Maven pom.xml文件详解

    Maven pom.xml文件详解 一.简介 POM全称是Project Object Model,即项目对象模型. pom.xml是maven的项目描述文件,它类似与antx的project.xml ...

随机推荐

  1. 下一代微服务 ~ Service Mesh

    微服务(Microservices) 微服务(Microservices)是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成.系统中的各个微服务可被独立部署,各个微服务之间是松耦合的.每个微服 ...

  2. header 跳转时报错误。Header may not contain more than a single header, new line detected

    我在用php的header做跳转时,报错误. Header may not contain more than a single header, new line detected 先贴一下代码: c ...

  3. 最课程阶段大作业06:U度节能平台控制系统

    除了互联网项目,当今社会还有一个概念非常流行,那就是:物联网.什么是物联网?物联网是通过传感设备,按约定的协议,把任意物品与互联网相连接,进行信息交换和通信,以实现智能化识别.定位.跟踪.监控和管理的 ...

  4. 打开KVM Console的一些注意事项

    今天早上跟思科CIMC里的KVM console较劲了很久,终于成功的打开了KVM console. 总结了下面的一些注意事项.如果你也遇到了KVM console打不开,那么可以尝试一下. 我不想花 ...

  5. Thymeleaf-语法整理

    Thymeleaf其他案例看其他网站 http://www.cnblogs.com/hjwublog/p/5051732.html http://blog.csdn.net/u012706811/ar ...

  6. [转]jquery异步ajax与服务器通信过程中如何通过then方法链式传递多层数据

    原文:https://www.cnblogs.com/fullstack-yang/p/6115983.html doSubmit: function(){ var dtd = $.Deferred( ...

  7. tensorflow tfdbg 调试手段

    https://blog.csdn.net/gubenpeiyuan/article/details/82710163 TensorFlow 调试程序 tfdbg 是 TensorFlow 的专用调试 ...

  8. Linux输入子系统框架分析(1)

    在Linux下的输入设备键盘.触摸屏.鼠标等都能够用输入子系统来实现驱动.输入子系统分为三层,核心层和设备驱动层.事件层.核心层和事件层由Linux输入子系统本身实现,设备驱动层由我们实现.我们在设备 ...

  9. (原)matlab导出oracle中blob的jpg数据到图片

    转载请注明出处: https://www.cnblogs.com/darkknightzh/p/10092965.html function write_blob_info(blob) len = b ...

  10. 基础008_定浮点转化[floating point IP]

    作者:桂. 时间:2018-05-15  21:55:50 链接:http://www.cnblogs.com/xingshansi/p/9042564.html 前言 本文为Xilinx float ...