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

  自定义Maven的repositories。

  自定义Maven的repositories

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

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

  !-- Spring Snapshots仓库 --

  repositories

  repository

  idspring-snapshots/id

  nameSpring Snapshots/name

  urlhttps://repo.spring.io/snapshot/url

  /repository

  /repositories

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

  检查Maven的settings.xml

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

  mirror

  idnexus-aliyun/id

  mirrorOf*/mirrorOf

  nameNexus aliyun/name

  urlhttp://maven.aliyun.com/nexus/content/groups/public/url

  /mirror

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

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

  mirror

  idnexus-aliyun/id

  mirrorOf*,!spring-snapshots/mirrorOf

  nameNexus aliyun/name

  urlhttp://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外的所有依赖。即上面示例中的场景。

自定义 Maven 的 repositories的更多相关文章

  1. Jenkins持续集成环境, 如何自定义 maven repositories

    假设自定义的仓库路径为“/opt/repository”,那么在“系统管理-系统设置”中,修改“全局MAVEN_OPTS”的值为如下的内容: -Dmaven.repo.local=/opt/repos ...

  2. Java开发小技巧(二):自定义Maven依赖

    前言 我们在项目开发中经常会将一些通用的类.方法等内容进行打包,打造成我们自己的开发工具包,作为各个项目的依赖来使用. 一般的做法是将项目导出成Jar包,然后在其它项目中将其导入,看起来很轻松,但是存 ...

  3. 自定义Maven Archetype模板

    1. 目的 自定义Maven Archetype模板目的为了把自己辛苦搭建的基础项目可以作为模板, 方便以后可以快速的创建类似项目,免去每次搭建的麻烦 2.把基础项目打包生成archetype项目 在 ...

  4. 自定义maven插件

    之前虽然一直知道maven插件是可以自定义的,不过一致没有用过.最近接触到了swagger项目中的codegen自动生成代码的功能,并且在codegen源码中,也是存在maven插件功能的,所以自己就 ...

  5. 【Maven实战技巧】「插件使用专题」Maven-Archetype插件创建自定义maven项目骨架

    技术推荐 自定义Archetype Maven骨架/以当前项目为模板创建maven骨架,可以参考http://maven.apache.org/archetype/maven-archetype-pl ...

  6. 如何自定义 maven中的archetype

    1.首先使用eclipse创建一个新的maven project,然后把配置好的一些公用的东西放到相应的目录下面 比如说会将一些常用的java代码存放到src/main/java目录下面: 会将一些通 ...

  7. MyEclipse中自定义maven命令(添加maven 命令)

    关于常用的Maven命令 mvn archetype:create :创建 Maven 项目 mvn compile :编译源代码 mvn test-compile :编译测试代码 mvn test ...

  8. 自定义maven变量以及maven内置常量

    本文转自:http://zheng12tian.iteye.com/blog/1770909 在创建Maven工程后,插件配置中通常会用到一些Maven变量,因此需要找个地方对这些变量进行统一定义,下 ...

  9. Maven:repositories、distributionManagement、pluginRepositories中repository的区别

    本文链接:https://blog.csdn.net/netyeaxi/article/details/95804076 目录 一.repositories中的repository 二.distrib ...

随机推荐

  1. keras搭建深度学习模型的一些小tips

    定义模型两种方法:  1.sequential 类仅用于层的线性堆叠,这是目前最常用的网络架构 2.函数式API,用于层组成的有向无环图,让你可以构建任意形式的架构 from keras import ...

  2. Summary: difference between public, default, protected, and private key words

    According to Java Tutorial: Controlling Access to Members of a Class Access level modifiers determin ...

  3. mysql表空间文件

    1.共享表空间文件.默认表空间文件是ibdata1,大小为10M,且可拓展.共享表空间可以由多个文件组成,一个表可以跨多个文件而存在,共享表空间的最大值限制是64T. 2.独立表空间文件.独立表空间只 ...

  4. ARM的Trust Zone技术

    ARM的Trust_Zone技术是一个系统的Access Control的架构. 与AXI,AHB,APB其中的secure,supervisor信号相关联. 与ARM core的模式相关连,当ARM ...

  5. Lower Power with CPF(三)

    常用的一些Lower Power的策略: 1)Clock tree optimization and clock gating:在正常情况下clock信号会一直toggle at the maximu ...

  6. mysql错误日志与通用日志

    错误日志 MySQL错误日志是记录MySQL 运行过程中较为严重的警告和错误信息,以及MySQL每次启动和关闭的详细信息. 1.错误日志路径查询 show variables like '%log_e ...

  7. 如何合并两个Git仓库

    欢迎和大家交流技术相关问题: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://g ...

  8. 蓝牙协议 HFP,HSP,A2DP,A2DP_CT,A2DP_TG,AVRCP,OPP,PBAP,SPP,FTP,TP,DTMF,DUN,SDP

    简介: HSP(手机规格)– 提供手机(移动电话)与耳机之间通信所需的基本功能. HFP(免提规格)– 在 HSP 的基础上增加了某些扩展功能,原来只用于从固定车载免提装置来控制移动电话. A2DP( ...

  9. 火狐使用Ctrl新开窗口不生效

    使用window.open新开页面,火狐浏览器无法使用Ctrl新开窗口后页面停留在当前页面,兼容性问题,使用<a>或者<router-link>标签即可解决 --贡献者:毛毛

  10. servlet之一(概念/如何写/运行/错误提示/乱码处理)

    # 1. 什么是Servlet?   sun公司制订的一种用来扩展web服务器功能的组件规范. ## (1) 扩展web服务器功能(servlet的产生背景)       web服务器只能处理静态资源 ...