您当前的位置:首页 > 电脑百科 > 数据库 > 百科

Maven配置多仓库无效?看看这里

时间:2021-06-16 09:41:34  来源:今日头条  作者:软件架构

在项目中使用Maven管理JAR包依赖,往往会出现以下状况:

1、国内访问maven默认远程中央镜像特别慢;使用阿里的镜像替代远程中央镜像;

2、阿里云镜像中缺少部分JAR包;同时使用私有仓库和公有仓库;

Maven的中央仓库很强大,绝大多数的JAR包都收录了,但也有未被收录的。遇到未收录的JAR包时,就会编译报错。

针对以上情况,我们就需要让Maven支持多仓库配置。

Maven配置多仓库无效?看看这里

 

单独仓库配置

当只配置一个仓库时,操作比较简单,直接在Maven的settings.xml文件中进行全局配置即可,以阿里云的镜像为例:

<mirrors>

<mirror>

<id>alimaven</id>

<name>aliyun maven</name>

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

<mirrorOf>central</mirrorOf>

</mirror>

</mirrors>

只用新增一个mirror配置即可。要做到单一仓库,设置mirrorOf到*。

 

mirrorOf中配置的星号,表示匹配所有的artifacts,也就是everything使用这里的代理地址。上面的mirrorOf配置了具体的名字,指的是repository的名字。mirrorOf 设置为central,则会覆盖maven里默认的远程仓库。

 

镜像配置说明:

1、id: 镜像的唯一标识;

2、name: 名称描述;

3、url: 地址;

4、mirrorOf: 指定镜像规则,什么情况下从镜像仓库拉取。其中,

*: 匹配所有,所有内容都从镜像拉取;

external:*: 除了本地缓存的所有从镜像仓库拉取;

repo,repo1: repo或者repo1,这里的repo指的仓库ID;

*,!repo1: 除了repo1的所有仓库;


专栏
Spring Cloud Alibaba微服务实战
作者:软件架构
29.8币
116人已购
查看

多仓库配置方式一:全局多仓库设置

全局多仓库设置,是通过修改maven的setting文件实现的。

设置思路:在setting文件中添加多个profile(也可以在一个profile中包含很多个仓库),并激活。即使是只有一个可用的profile,也需要激活。

修改maven的setting文件,设置两个仓库(以此类推,可以添加多个):

<profiles>

<profile>

<!-- id必须唯一 -->

<id>myRepository1</id>

<repositories>

<repository>

<!-- id必须唯一 -->

<id>myRepository1_1</id>

<!-- 仓库的url地址 -->

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

<releases>

<enabled>true</enabled>

</releases>

<snapshots>

<enabled>true</enabled>

<updatePolicy>always</updatePolicy>

</snapshots>

</repository>

</repositories>

</profile>

<profile>

<!-- id必须唯一 -->

<id>myRepository2</id>

<repositories>

<repository>

<!-- id必须唯一 -->

<id>myRepository2_1</id>

<!-- 仓库的url地址 -->

<url>http://repository.jboss.org/nexus/content/groups/public-jboss/</url>

<releases>

<enabled>true</enabled>

</releases>

<snapshots>

<enabled>true</enabled>

<updatePolicy>always</updatePolicy>

</snapshots>

</repository>

</repositories>

</profile>

</profiles>

 

通过配置activeProfiles子节点激活:

<activeProfiles>

<!-- 激活myRepository1 -->

<activeProfile>myRepository1</activeProfile>

<!-- 激活myRepository2 -->

<activeProfile>myRepository2</activeProfile>

</activeProfiles>

 

此时如果是在Idea中使用了本地的Maven配置,那么在项目的Maven管理中会看到类似如下图中的profile选项。

Maven配置多仓库无效?看看这里

 



专栏
SkyWalking分布式链路追踪和监控
作者:软件架构
19.8币
103人已购
查看

多仓库配置方式二:在项目中添加多个仓库

在项目中添加多个仓库,是通过修改项目中的pom文件实现的。

思路:在项目中pom文件的repositories节点(如果没有手动添加)下添加多个repository节点,每个repository节点是一个仓库。

修改项目中pom文件,设置两个仓库(以此类推,可以添加多个):

<repositories>

<repository>

<!-- id必须唯一 -->

<id>jboss-repository</id>

<!-- 见名知意即可 -->

<name>jboss repository</name>

<!-- 仓库的url地址 -->

<url>http://repository.jboss.org/nexus/content/groups/public-jboss/</url>

</repository>

<repository>

<!-- id必须唯一 -->

<id>aliyun-repository</id>

<!-- 见名知意即可 -->

<name>aliyun repository</name>

<!-- 仓库的url地址 -->

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

</repository>

</repositories>

这里的id就是mirrorOf要使用的ID。

Maven配置多仓库无效?看看这里

 

注:以上两种方式的id值均不可以为“central”,因为central表示该配置为中央库的镜像。



Tags:Maven   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
使用Maven Publish Plugin插件。(官方支持)一、在Library的build.gradle中配置plugins { id &#39;com.android.library&#39; id &#39;kotlin-android&#39; id &#39;k...【详细内容】
2021-11-05  Tags: Maven  点击:(36)  评论:(0)  加入收藏
1 注册maven(oss)账号注册地址: https://issues.sonatype.org/secure/Signup!default.jspa 注册成功后登陆到首页2 创建一个Issue Project: 项目类型,一般为Community Suppor...【详细内容】
2021-07-05  Tags: Maven  点击:(99)  评论:(0)  加入收藏
环境:JavaIDEAMaven 多层级架构Jenkins描述:由于架构是 Maven 多层级架构,采用 Jenkins 打包发布的方式对服务部署,与传统的单层架构不同。传统的单层架构直接在 pom.xml 文件层...【详细内容】
2021-06-29  Tags: Maven  点击:(125)  评论:(0)  加入收藏
在项目中使用Maven管理JAR包依赖,往往会出现以下状况:1、国内访问maven默认远程中央镜像特别慢;使用阿里的镜像替代远程中央镜像;2、阿里云镜像中缺少部分JAR包;同时使用私有仓库...【详细内容】
2021-06-16  Tags: Maven  点击:(114)  评论:(0)  加入收藏
groupid 一般定义方式为实际项目名artifactId 一一般表示该项目中的某个某块名version 表示该项目中的某个模块的版本号scope 表示该某个的作用范围,scope的不同值也表示该模...【详细内容】
2021-04-25  Tags: Maven  点击:(258)  评论:(0)  加入收藏
没有Maven之前的日子个人的一个小感受,学习一个新技术,应该以历史的眼光开看待这个新技术出现的原因,以及帮我们解决了什么问题。我们来回忆一下没有Maven的日子是怎么样的? 开...【详细内容】
2021-04-06  Tags: Maven  点击:(278)  评论:(0)  加入收藏
查看maven依赖关系打开maven文件,右键maven -> show dependencies,或者按快捷键CTRL+ALT+SHIFT+U。然后按住Ctrl,滑动鼠标滚轮可以放大和缩小视图。查看某个依赖在视图中双击该...【详细内容】
2021-01-05  Tags: Maven  点击:(340)  评论:(0)  加入收藏
概念什么是MavenMaven 是 Apache 软件基金会组织维护的一款自动化构建工具,专注服务于 Java 平台的项目构建和依赖管理。Maven 这个单词的本意是:专家,内行。读音是[&lsquo;me...【详细内容】
2020-10-27  Tags: Maven  点击:(49)  评论:(0)  加入收藏
首先来介绍一下nexus这个开发中会用到的服务,Nexus是一个强大的Maven仓库管理器,它极大地简化了自己内部仓库的维护和外部仓库的访问。利用Nexus你可以只在一个地方就能够完全...【详细内容】
2020-09-14  Tags: Maven  点击:(125)  评论:(0)  加入收藏
一、下载安装jdk并配置1.1 进行JDK下载 下载地址:一键直达JDK下载展示图 一般下载后,安装位置默认,一路下一步,一直到安装完毕-“关闭”。1.2 环境变量配置不要管是不是一般情况...【详细内容】
2020-09-03  Tags: Maven  点击:(144)  评论:(0)  加入收藏
▌简易百科推荐
1增1.1【插入单行】insert [into] <表名> (列名) values (列值)例:insert into Strdents (姓名,性别,出生日期) values (&#39;开心朋朋&#39;,&#39;男&#39;,&#39;1980/6/15&#3...【详细内容】
2021-12-27  快乐火车9d3    Tags:SQL   点击:(1)  评论:(0)  加入收藏
最近发现还有不少做开发的小伙伴,在写存储过程的时候,在参考已有的不同的写法时,往往很迷茫, 不知道各种写法孰优孰劣,该选用哪种写法,以及各种写法的优缺点,本文以一个简单的查询...【详细内容】
2021-12-23  linux上的码农    Tags:sql   点击:(9)  评论:(0)  加入收藏
《开源精选》是我们分享Github、Gitee等开源社区中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的HasorDB 是一个全功能数据库访问工具,提供对象映射、丰...【详细内容】
2021-12-22  GitHub精选    Tags:HasorDB   点击:(5)  评论:(0)  加入收藏
作者丨Rafal Grzegorczyk译者丨陈骏策划丨孙淑娟【51CTO.com原创稿件】您是否还在手动对数据库执行各种脚本?您是否还在浪费时间去验证数据库脚本的正确性?您是否还需要将...【详细内容】
2021-12-22    51CTO  Tags:Liquibase   点击:(3)  评论:(0)  加入收藏
场景描述:由于生产环境的表比较复杂,字段很多。这里我们做下简化,只为说明今天要聊的问题。有两张表 tab1,tab2: tab1 数据如下: tab2 数据如下: 然后给你看下,我用来统计 name=&#3...【详细内容】
2021-12-20  Bald    Tags:SQL   点击:(5)  评论:(0)  加入收藏
前言知识无底,学海无涯,知识点虽然简单,但是比较多,所以将MySQL的基础写出来,方便自己以后查找,还有就是分享给大家。一、SQL简述1.SQL的概述Structure Query Language(结构化查...【详细内容】
2021-12-16  谣言止于独立思考    Tags:SQL基础   点击:(13)  评论:(0)  加入收藏
前言作为一名测试工程师,工作中在对测试结果进行数据比对的时候,或多或少要和数据库打交道的,要和数据库打交道,那么一些常用的 SQL 查询语法必须要掌握。最近有部分做测试小伙...【详细内容】
2021-12-14  柠檬班软件测试    Tags:SQL   点击:(15)  评论:(0)  加入收藏
话说C是面向内存的编程语言。数据要能存得进去,取得出来,且要考虑效率。不管是顺序存储还是链式存储,其寻址方式总是很重要。顺序存储是连续存储。同质结构的数组通过其索引表...【详细内容】
2021-12-08  小智雅汇    Tags:数据存储   点击:(17)  评论:(0)  加入收藏
概述DBConvert Studio 是一款强大的跨数据库迁移和同步软件,可在不同数据库格式之间转换数据库结构和数据。它将成熟、稳定、久经考验的 DBConvert 和 DBSync 核心与改进的现...【详细内容】
2021-11-17  雪竹聊运维    Tags:数据库   点击:(26)  评论:(0)  加入收藏
一、前言 大家好,我是小诚,《从0到1-全面深刻理解MySQL系列》已经来到第四章,这一章节的主要从一条SQL执行的开始,由浅入深的解析SQL语句由客户端到服务器的完整执行流程,最...【详细内容】
2021-11-09  woaker    Tags:SQL   点击:(35)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条