首页 > 编程知识 正文

maven镜像仓库,Maven镜像和仓库查找顺序

时间:2023-05-06 09:32:27 阅读:278066 作者:1717

 

1. Maven镜像(mirror)的概念、作用

    mirror相当于一个拦截器,它会拦截maven对remote repository的相关请求,把请求里的remote repository地址,重定向到mirror里配置的地址。

    如果仓库X可以提供仓库Y存储的所有内容,那么就可以认为X是Y的一个镜像。换句话说,任何一个可以从仓库Y获得的构件,都能够从它的镜像中获取。

    Some reasons to use a mirror are:

There is a synchronized mirror on the internet that is geographically closer and faster

You want to replace a particular repository with your own internal repository which you have greater control over

You want to run a repository manager to provide a local cache to a mirror and need to use its URL instead.

    例如, 有一个项目,需要在公司和住所都编码,并在项目pom.xml配置了A Maven库。在公司,是电信网络,访问A库很快,所以maven管理依赖和插件都从A库下载;在住所,是网通网络,访问A库很慢,但是访问B库很快。这时,在住所的setting.xml里,只要配置一下<mirrors><mirror>....</mirror></mirrors>,让B库成为A库的mirror,即可不用更改项目pom.xml里对于A库的相关配置。

    如果该镜像仓库需要认证,则配置setting.xml中的<server></server>即可。

 

2. 镜像配置

    <mirrorOf></mirrorOf>标签里面放置的是要被镜像的Repository ID。

    为了满足一些复杂的需求,Maven还支持更高级的镜像配置: 

<mirrorOf>*</mirrorOf> 匹配所有远程仓库。 

<mirrorOf>repo1,repo2</mirrorOf> 匹配仓库repo1和repo2,使用逗号分隔多个远程仓库。 

<mirrorOf>external:*,!repo1</miiroOf> 匹配所有远程仓库,repo1除外,使用感叹号将仓库从匹配中排除。 

具体参见:http://maven.apache.org/guides/mini/guide-mirror-settings.html

 

 

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。