文档章节

自定义 Maven 的 repositories

waylau
 waylau
发布于 2018/12/12 22:26
字数 525
阅读 34
收藏 4

有时,应用中需要一些比较新的依赖,而这些依赖并没有正式发布,还是处于milestone或者是snapshot阶段,并不能从中央仓库或者镜像站上下载到。此时,就需要

自定义Maven的<repositories>

自定义Maven的<repositories>

以Spring应用程序程序为例,需要添加一个Spring Security 5.2.0.BUILD-SNAPSHOT版本的依赖,可惜这是个snapshot,并不在镜像站中。

解决方法就是在pom.xml添加一个snapshot的地址:


<!-- Spring Snapshots仓库 -->

<repositories>

    <repository>

        <id>spring-snapshots</id>

        <name>Spring Snapshots</name>

        <url>https://repo.spring.io/snapshot</url>

    </repository>

</repositories>

这样,就能从这个仓库中,获取到 Spring Security 5.2.0.BUILD-SNAPSHOT版本的依赖了。

检查Maven的settings.xml

但有时,跟着上面的设置方法并不奏效,仍然还是从之前的镜像站中去下载。此时,我们需要去检查下 Maven 安装目录下的settings.xml:


<mirror>

    <id>nexus-aliyun</id>

    <mirrorOf>*</mirrorOf>

    <name>Nexus aliyun</name>

    <url>http://maven.aliyun.com/nexus/content/groups/public</url>

</mirror>

可以看到,在设置镜像时,mirrorOf设置为了“*”,意味所有的依赖都是从这个镜像上下载。完全不给Spring Snapshots机会了。

解决方法也简单,改为下面的方式:


<mirror>

    <id>nexus-aliyun</id>

    <mirrorOf>*,!spring-snapshots</mirrorOf>

    <name>Nexus aliyun</name>

    <url>http://maven.aliyun.com/nexus/content/groups/public</url>

</mirror>

mirrorOf设置为了“*,!spring-snapshots”,意味除了Spring Snapshots外,所有的依赖都是从这个镜像上下载。这样就能下载到 Spring Snapshots了。

以下是mirrorOf的详细解释。

mirrorOf的配置解释

mirrorOf的配置支持如下场景:

  • *:所有依赖;

  • external:*:所有不再本地和不是基于文件的依赖;

  • repo,repo1:所有来自repo或者repo1仓库的依赖;

  • *,!repo1:除了repo1外的所有依赖。即上面示例中的场景。

参考引用

© 著作权归作者所有

共有 人打赏支持
waylau

waylau

粉丝 508
博文 94
码字总数 166944
作品 2
深圳
架构师
私信 提问
gradle使用maven镜像仓库的方法

使用maven镜像仓库的方法大体上有两种 修改build.gradle 使用构建的项目,在项目的根目录下都会有一个文件,存储着构建的配置,其配置语法使用,所以熟悉的用户可以很轻松上手配置,包括修改...

Feng_Yu
2016/11/08
0
0
maven repository

maven repository 什么是Maven仓库 在不用Maven的时候,比如说以前我们用Ant构建项目,在项目目录下,往往会看到一个名为/lib的子目录,那里存放着各类第三方依赖 jar文件,如log4j.jar,jun...

squanchao
2016/08/15
29
0
mave 配置文件里面的setting 配置仓库

Using Mirrors for Repositories With Repositories you specify from which locations you want to download certain artifacts, such as dependencies and maven-plugins. Repositories ca......

Oscarfff
2016/02/08
58
0
gradle 关于repository配置

指定本地库 指定maven中心仓库 指定库 带认证的库

云淡V
2016/08/12
98
0
Google I/O Android官方新体系架构之:Lifecycle

Google I/O Android官方新体系架构之:Lifecycle Google官方在 I/O大会中引入一些列Android新的体系架构内容,其中有一个是Android的Lifecycle。Lifecycle实现的一个重要目的,是实现Android...

开开心心过
2017/08/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周日乱弹 —— 没时间 没头发 但有钱

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @开源中国总经办主任 :分享齐一的单曲《这个年纪》 《这个年纪》- 齐一 手机党少年们想听歌,请使劲儿戳(这里) @肿肿卷 :我真的可以睡一天...

小小编辑
48分钟前
11
4
Django进阶 1.1 ORM基础—ORM 1.2.1 增删改查之查询 1.2.2 删改增 (1) 1.2.3 删改增 (2)

ORM基础 ORM是Django操作数据库的API,Django的作者将sql语句封装在里面供我们使用。 我们前面还提到过Django提供一个模拟数据库的工具,sqlite,供我们学习测试使用。 如果我们想使用mysql...

隐匿的蚂蚁
今天
3
0
Windows 上安装 Scala

在安装 Scala 之前需要先安装 Java 环境,具体安装的详细方法就不在这里描述了。 您可以自行搜索我们网站中的内容获得其他网站的帮助来获得如何安装 Java 环境的方法。 接下来,我们可以从 ...

honeymose
今天
3
0
数据库篇多表操作

第1章 多表操作 实际开发中,一个项目通常需要很多张表才能完成。例如:一个商城项目就需要分类表(category)、商品表(products)、订单表(orders)等多张表。且这些表的数据之间存在一定的关系...

stars永恒
今天
3
0
nginx日志自动切割

1.日志配置(Nginx 日志) access.log----记录哪些用户,哪些页面以及用户浏览器,IP等访问信息;error.log------记录服务器错误的日志 #配置日志存储路径:location / {      a...

em_aaron
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部