maven 中的mirror详解
一、前言
今天同事遇到个问题,本来公司是有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详解的更多相关文章
- maven中scope标签详解
前言 最近在做itoo的pom优化工作,发现对于maven依赖管理中的scope标签还是有不明白的地方,所以今天就来总结一下这方面的知识,scope在maven的依赖管理中主要负责项目的部署 mave ...
- maven中profiles使用详解
使用的场景 常常遇到一些项目中多环境切换的问题.比如在开发过程中用到开发环境,在测试中使用测试环境,在生产中用生产环境的情况.springboot中提供了 spring.profile.active的 ...
- Maven中POM.XML详解
转自https://blog.csdn.net/jariwsz/article/details/19554137 我们先看一个简单的例子: <project xmlns="http:/ ...
- maven中的Exclusions详解
依赖关系:Project-A>Project-B>Project-C,但是Project-A不依赖Project-C,在Project-A中的POM.xml应该进行如下配置: <de ...
- Maven中的dependency详解
<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> & ...
- Maven依赖中的scope详解,在eclipse里面用maven install可以编程成功,到服务器上用命令执行报VM crash错误
Maven依赖中的scope详解 项目中用了<scope>test</scope>在eclipse里面用maven install可以编译成功,到服务器上用命令执行报VM cr ...
- Maven配置文件setting.xml详解
注:本文来源于:大话JAVA的那些事 <Maven配置文件setting.xml详解> <?xml version="1.0" encoding="UT ...
- JAVA Eclipse使用Maven构建web项目详解(SSM框架)
tips: 启动项目后,welcome-file的链接即为测试用例 部署maven web项目 Eclipse使用Maven构建web项目详解 pom.xml添加webapp依赖: <depen ...
- Maven pom.xml文件详解
Maven pom.xml文件详解 一.简介 POM全称是Project Object Model,即项目对象模型. pom.xml是maven的项目描述文件,它类似与antx的project.xml ...
随机推荐
- poj2393 Yogurt factory(贪心,思考)
https://vjudge.net/problem/POJ-2393 因为仓储费是不变的. 对于每一周,要么用当周生产的,要么接着上一周使用的价格(不一定是输入的)加上固定的仓储费用. 应该算是用到 ...
- pygame 笔记-10 摩擦力与屏幕环绕
多年前写过一篇 Flash/Flex学习笔记(25):摩擦力与屏幕环绕,可惜的当时上传的flash,服务器后来无人维护,现在flash链接都失效了.本篇用pygame重新实现了一个: 原理是类似,但要 ...
- 巧用watch命令执行循环操作,来解放我们的双手
有时候我们需要重复执行某个 命令,观察某个文件和某个结果的变化情况.可以写 脚本去实现这些需求,但是有更简单的方法,本文档要介绍的就是watch 命令. 1. 以固定时间反复执行某个命令 root@j ...
- Linux中非正常关闭vi编辑器产生swp文件怎么删除
Linux中非正常关闭vi编辑器产生swp文件,会导致编辑文件时提示如下内容(图我是从网上找的): 这是因为异常关闭vi编辑器产生swp文件导致,假设编辑的文件名是file.sh,那么生成的swp文件 ...
- Springboot 生成验证码
技术:springboot+kaptcha+session 概述 场景介绍 验证码,用于web网站.用户点击验证码图片后,生成验证码.提交后,用户输入验证码和Session验证码,进行校验. 详细 ...
- iostat各字段的来源和真实含义
The primary tool for inspecting Linux disk performance is iostat. The output includes many important ...
- 链接了dpdk的进程启动core在 Illegal instruction
失败后的core栈像下面这样: Program terminated with signal SIGILL, Illegal instruction. # 0x00000000036a3fdd in ...
- R语言︱处理缺失数据&&异常值检验、离群点分析、异常值处理
在数据挖掘的过程中,数据预处理占到了整个过程的60% 脏数据:指一般不符合要求,以及不能直接进行相应分析的数据 脏数据包括:缺失值.异常值.不一致的值.重复数据及含有特殊符号(如#.¥.*)的数据 数 ...
- [转]ThreadLocal使用
引言 ThreadLocal的官方API解释为: “该类提供了线程局部 (thread-local) 变量.这些变量不同于它们的普通对应物,因为访问某个变量(通过其 get 或 set 方法)的每个线 ...
- 2、金融之关于BOLL
一.BOLL(1)什么是BOLL线☆ BOLL指标又叫布林线指标(Bolinger Bands),是由约翰·布林格(John Bollinger)根据统计学中的标准差原理设计出来的一种非常简单实用的技 ...