详解详解maven的的setting配置文件中配置文件中mirror和和repository的区别的区别
主要介绍了详解maven的setting配置文件中mirror和repository的区别,小编觉得挺不错的,现在分享给大家,
也给大家做个参考。一起跟随小编过来看看吧
当maven需要到的依赖jar包不在本地仓库时, 就需要到远程仓库下载 .
这个时候如果mavensetting.xml中配置了镜像 , 而且镜像配置的规则中匹配到目标仓库时 ,
maven认为目标仓库被镜像了, 不会再去被镜像仓库下载依赖jar包, 而是直接去镜像仓库下载.
简单而言, mirror可以拦截对远程仓库的请求 , 改变对目标仓库的下载地址
repository
repository就是个仓库.
maven里有两种仓库,本地仓库和远程仓库。
远程仓库相当于公共的仓库,大家都能看到。
本地仓库是你本地的缓存副本,只有你看的到,主要起缓存作用。
当你向仓库请求插件或依赖的时候,会先检查本地仓库里是否有。
如果有则直接返回,否则会向远程仓库请求,并被缓存到本地仓库。
远程仓库可以在工程的pom.xml文件里指定。
如果没指定,默认会到http://repo1.maven.org/maven2这个地方去请求插件和依赖包。
*<repository> *
* <snapshots> *
* <enabled>false</enabled> *
* </snapshots> *
* <id>central</id> *
* <name>Maven Repository Switchboard</name> *
* <url>**[http://repo1.maven.org/maven2</url>*
* </repository> *
本地仓库默认在你本地的用户目录下的.m2/repository目录下。
mirror
mirror就是镜像,主要提供一个方便地切换远程仓库地址的途径。
比如,上班的时候在公司,用电信的网络,连的是电信的仓库。
回到家后,是网通的网络,我想连网通的仓库,就可以通过mirror配置,统一把我工程里的仓库地址都改成联通的,而不用到
具体工程配置文件里一个一个地改地址。
mirror的配置在.m2/settings.xml里。如:
*<mirrors> *
* <mirror> *
* <id>UK</id> *
* <name>UK Central</name> *
* <url>**[http://uk.maven.org/maven2</url> ](http://uk.maven.org/maven2%3C/url%3E%C2%A0%C2%A0)*
* <mirrorOf>central</mirrorOf> *
* </mirror> *
*</mirrors> *
评论0