镜像(mirror)和仓库(repository)的区别

仓库(repository)

image.png

仓库主要分为两类:

  • remote repository:相当于公共的仓库,大家都能访问到,一般可以用URL的形式访问
  • local repository:存放在本地磁盘的一个文件夹,例如,windows上默认是C:\Users\{用户名}.m2\repository目录

repository里存放的都是各种jar包和maven插件。当向仓库请求插件或依赖的时候,会先检查local repository,如果local repository有则直接返回,否则会向remote repository请求,并缓存到local repository。也可以把做的东西放到本地仓库,仅供本地使用;或上传到远程仓库,供大家使用。

镜像(mirror)

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

没有配置mirror

image.png

配置了mirror

image.png

在这种情况下,当我们需要换仓库地址的时候只需要在setting.xml中增加mirror就可以了,而不需要修改pom

仓库中寻找插件或jar的顺序

(1),在本地仓库中寻找,如果没有则进入下一步
(2),在全局配置的私服仓库(settings.xml中配置的并有激活)中寻找,如果没有则进入下一步。
(3),在项目自身配置的私服仓库(pom.xml)中寻找,如果没有则进入下一步。
(4),在中央仓库中寻找,如果没有则终止寻找。

你可能感兴趣的:(镜像(mirror)和仓库(repository)的区别)