maven仓库配置
仓库优先级为:本地仓库(localRepositories) > profile中的repositories仓库 > POM > mirrors全局仓库
通过mirror配置
如果仓库X可以提供仓库Y所有的内容,那么我们就可以认为X是Y的一个镜像,通俗点说,可以从Y获取的构件都可以从他的镜像中进行获取。可以采用镜像的方式配置远程仓库,镜像在settings.xml中进行配置,在setting.xml中的
alimaven aliyun maven central http://maven.aliyun.com/nexus/content/groups/public/
添加如上配置后,maven会读取setting.xml中配置的mirror作为jar包的下载地址,我们以在项目中下载fastjson为例来看一下效果。
可以看到,配置了上面的mirror后,maven是从aliyun仓库下载的jar包,不配置的时候,默认从apache的maven中央仓库下载的jar包。
上面提到,
central Central Repository https://repo.maven.apache.org/maven2 default false
通过
通过setting.xml方式配置会对所有maven项目生效,如果只想在本项目中配置一个maven仓库,可以通过在pom.xml中配置
aliyun-releases 阿里云仓库(name可以随便起) https://maven.aliyun.com/repository/public
我们知道,repositories标签下可以配置多个repository,如果我们配置了多个repository,maven会用哪个呢,答案是按出现顺序使用,如果第1个可用,就用第一个,如果不可用,就依次往下找,下面的2张图片可以说明这个问题。
上面配置
可以看下面一个例子,本来我们的abc-releases这个仓库是不可用的,因为根本就没有https://abc.def.com/repository/public/这个仓库,但是我们通过mirror配置,改变了id为abc-releases这个仓库的url,从而使用maven也可以从id为abc-releases这个仓库下载jar包了。当然这样配置也没只啥意义,只是为了方便理解repository和mirror之间的关系。
maven仓库配置的其他选项
aliyun-releases https://maven.aliyun.com/repository/public true false
maven默认的内置仓库的配置位置
central Central Repository https://repo.maven.apache.org/maven2 default false
到此这篇关于maven仓库repositories和mirrors的配置及区别详解的文章就介绍到这了,更多相关maven仓库repositories和mirrors配置内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!