maven settings.xml配置的mirror和repository

公司的maven私服不稳定,经常挂。所以不能把mirror全部设置为公司的。如果设置了,当私服挂了,也会从私服上下载jar包。当然就下载不了而报错了。
一、mirror与repository的作用(转自 http://www.iteye.com/problems/60531):

简单点来说,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的配置在.m2/settings.xml里。如:

   <mirrors> 
      <mirror> 
        <id>UK</id> 
        <name>UK Central</name> 
        <url>http://uk.maven.org/maven2</url> 
        <mirrorOf>central</mirrorOf> 
      </mirror> 
    </mirrors>  

这样的话,就会给上面id为central的远程仓库做了个镜像。以后向central这个仓库发的请求都会发到http://uk.maven.org/maven2而不是http://repo1.maven.org/maven2了。

central里是要替代的仓库的id。如果填*,就会替代所有仓库。


二、常用repository

<repository> 
            <id>offical</id> 
            <name>Maven Official Repository</name> 
            <url>http://repo1.maven.org/maven2</url> 
            <snapshots> 
                <enabled>false</enabled> 
            </snapshots> 
        </repository>
        <repository> 
            <id>jboss-cache</id> 
            <name>jboss-cache</name> 
            <url>http://repository.jboss.org/maven2</url> 
        </repository> 
        <repository> 
            <id>mvnsearch</id> 
            <name>mvnsearch Maven Repository</name> 
            <url>http://www.mvnsearch.org/maven2</url> 
        </repository> 
        <repository> 
            <id>ibiblio</id> 
            <name>ibiblio Maven Repository</name> 
            <url>http://www.ibiblio.org/maven2</url> 
        </repository> 
        <repository> 
            <id>mirrors.ibiblio</id> 
            <name>mirrors.ibiblio Maven Repository</name> 
            <url>http://mirrors.ibiblio.org/pub/mirrors/maven2</url> 
        </repository> 
        <repository> 
            <id>repo.springsource.org</id> 
            <name>repo.springsource.org-releases</name> 
            <url>http://repo.springsource.org/libs-milestone-local</url> 
            <snapshots> 
                <enabled>false</enabled> 
            </snapshots> 
        </repository>

文/程忠 浏览次数:0次   2016-06-24 14:55:08

相关阅读


评论:
点击刷新

↓ 广告开始-头部带绿为生活 ↓
↑ 广告结束-尾部支持多点击 ↑