多镜像 mirror , 实现自动切换仓库下载包

试了两项目发现可以,还有一个在看,也不知道是不是重复依赖太多导致编译不成功。。。

问题场景:

1.公司有内部搭建的nexus(私有maven库), 添加了 mirror 配置

1
2
3
4
5

<mirror>
    <id>yougou</id>
    <mirrorOf>*</mirrorOf><!-- *代表拦截了所有仓库, 缺点是也包括了默认的中心仓库 -->
    <url>http://repo1.maven.org/maven2/</url>
</mirror>

2.有时候要用到的一些jar包可能公司的私库并没有, 我们一般都会使用aliyun的maven库进行加速

所以, 造成了下载一些jar包时会反复修改setting.xml文件, 很麻烦

官网 关于镜像的介绍 https://maven.apache.org/guides/mini/guide-mirror-settings.html

通过官网的举例

1
2
3
4
5
6
7
8
9
10
11
12

Examples:
* = everything
external:* = everything not on the localhost and not file based.
repo,repo1 = repo or repo1
*,!repo1 = everything except repo1

机器翻译:
例子:
* =            一切
外部:* =       不在本地主机上的所有内容,也不是基于文件的。
repo,repo1 =   repo或repo1
*,!repo1 =     除repo1之外的所有内容

得到解决方案(只保留了关键的配置)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">

  <mirrors>
        <mirror>
            <id>yougou</id>
            <mirrorOf>*,!aliyun</mirrorOf>    <!-- *镜像拦截了所有的仓库, 但 排除了阿里云的仓库  逗号两边不能有空格  从左到右的顺序 -->
            <url>http://repo1.maven.org/maven2/</url> <!-- 设置公司私库地址 -->
        </mirror>
  </mirrors>
 
  <profiles>
        <profile>
            <id>aliyun_profile</id>
            <repositories>
                <repository>
                    <id>aliyun</id> <!-- 添加阿里云的maven仓库 -->
                    <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                </repository>
            </repositories>
        </profile>
  </profiles>

  <activeProfiles>
    <activeProfile>aliyun_profile</activeProfile> <!-- 让添加的阿里云仓库生效 -->
  </activeProfiles>

</settings>

修改完后可以通过命令来检查 setting.xml文件是否有问题

mvn help:effective-settings

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值