仓库(repository)
仓库主要分为两类:
- 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
配置了mirror
在这种情况下,当我们需要换仓库地址的时候只需要在setting.xml中增加mirror就可以了,而不需要修改pom
仓库中寻找插件或jar的顺序
(1),在本地仓库中寻找,如果没有则进入下一步
(2),在全局配置的私服仓库(settings.xml中配置的并有激活)中寻找,如果没有则进入下一步。
(3),在项目自身配置的私服仓库(pom.xml)中寻找,如果没有则进入下一步。
(4),在中央仓库中寻找,如果没有则终止寻找。