maven的mirrors和repositories笔记-创新互联

前言

Maven仓库是存储项目依赖组件的第三方库,企业为了解决下载依赖速度慢和存放自研组件,通常会搭建企业内部的一个Maven私有仓库。

创新互联建站专注于企业全网营销推广、网站重做改版、南乐网站定制设计、自适应品牌网站建设、H5场景定制商城网站建设、集团公司官网建设、外贸营销网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为南乐等各大城市提供网站开发制作服务。一、概念

本地仓库:存储在本地磁盘的镜像仓库,通常通过setting.xml的配置。
远程仓库:通过网络链接的不在本地磁盘存储的仓库,通常包含: maven社区维护的 中央仓库、由各大社区或企业提供的公共仓库、企业内部建设的内网私库。

二、仓库配置优先级

本地仓库 ->mirrorOf(比较特殊,后续会讲)是*的镜像路径 ->setting.xml的profile配置的repositories ->pom.xml文件配置的profiles里面的repositories ->pom.xml的repositories标签配置的仓库

三、mirrors

mirror :可以理解为仓库的映射关系,虽然mirrors标签可以配置多个,但是默认只有第一个mirror生效,只有在第一个节点无法连接的时候才会去找下一个。

四、repositories和mirrors的关系

maven下载镜像过程:
1、通过上面的仓库配置优先级顺序定位到具体的repository
2、通过定位repository的id,去setting.xml下的mirrors 通过mirrorOf匹配到一个节点。
3、如果没有匹配到对应的mirror,就使用repository配置的路径下载。

注:mirror的匹配规则:使用mirrorOf配置匹配仓库ID, 且MAVEN仅使用匹配到的第一个镜像,其余符合匹配条件的镜像将不起作用。也就是说,如果你的第一个仓库的mirrorOf 配置为 * ,则其余镜像配置将不起作用

*:匹配所有远程仓库,不建议使用,如果要使用放在最后。
external:*:匹配所有远程仓库,使用 localhost 和 file:// 协议的除外。即,匹配所有不在本机上的远程仓库。
repo1,repo2:匹配仓库 repo1 和 repo2,使用逗号分隔多个远程仓库。
*,!repo1:匹配所有远程仓库,repo1 除外,使用感叹号将仓库从匹配中排除。

总结

本人是根据几篇博客,以及自己实验结果,得出的结论,如果有不同的结论或者意见,请联系我,帮助我提升自己,感激不尽,谢谢。

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


分享文章:maven的mirrors和repositories笔记-创新互联
文章分享:http://myzitong.com/article/doceod.html