官网图片:
maven仓库:
仓库通常配置在settings.xml文件中,此处注意settings.xml的优先级:用户 > 全局,广义上maven的仓库一共包含两种:
1.本地仓库,默认在"用户目录/xx用户/.m2/repository",在settings.xml中使用<localRepository>标识。
2.远程仓库,默认指向maven的中央仓库,在settings.xml中使用<repositories>标识,可以配置多个。
中央仓库(maven默认的远程仓库,存在于maven的超级pom中,%MAVEN_HOME%\lib\maven-model-builder-3.2.5.jar\pom4.0.0.xml,id为central)
私服(搭建与局域网环境中,一般是公司内部使用,好处:1.方便管理 2.可以上传公司内部的组件 3.内网传输速度快)
其他公共库(jboss、阿里云等等,我现在用的阿里云还挺快的)
镜像
除仓库外,猜测可能是出于网速等原因的考虑,引申出一个的东西叫镜像,在settings.xml中使用<mirrors>标识,和远程仓库一样也可以配置多个。作用是覆盖某个或某几个仓库的配置(由<mirrorOf>元素决定)。
比如:以下配置将会覆盖maven中央仓库,所有对于maven中央仓库的请求,都将请求到阿里云上。
<mirrors> <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror> </mirrors>
补充:有时候我们设置了多个settings.xml,但是不知道到底现在那个是生效的。eclipse中有一个特别有用的视图,可以解决这个问题。(window-Show view-maven-Maven Repositories)
如下图,可以清晰的看出现在用的是哪个仓库: