Mvn multi mirrors 从多个地方下载

首先mvn这个东西和ant差不多。都是编译工程+打包的东西。 很多开源软件都用。这些开源软件里面有大量的第三方依赖。很可惜,这些第三方依赖很有可能在很多个r
epository中。查找StackOverFlow发现大多回答是这样的:

在conf/setting.xml中写入:

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

这样就加入了一个。

<mirrors>
  <mirror>
    <id>UK</id>
    <name>UK Central</name>
    <url>http://uk.maven.org/maven2</url>
    <mirrorOf>central</mirrorOf>
  </mirror>
      <mirror>  
          <id>soap</id>  
          <name>internal nexus repository</name>  
          <url>http://www.soapui.org/repository/maven2</url>
                      <mirrorOf>!UK,*</mirrorOf>
      </mirror>
</mirrors>

这样就加入俩。

这是StackOverflow的解答。那么如果加入三个是否是下面这样:

<mirrors>
    <mirror>
      <id>UK</id>
      <name>UK Central</name>
      <url>http://uk.maven.org/maven2</url>
      <mirrorOf>central</mirrorOf>
    </mirror>
        <mirror>  
            <id>soap</id>  
            <name>internal nexus repository</name>  
            <url>http://www.soapui.org/repository/maven2</url>
                        <mirrorOf>!UK,*</mirrorOf>
        </mirror>
<mirror>  
            <id>nightlabs</id>  
            <name>internal nexus repository</name>  
            <url>http://dev.nightlabs.org/maven-repository/maven.jahia.org-cache/</url>
                        <mirrorOf>!UK,!soap,*</mirrorOf>
        </mirror>  
  </mirrors>

对不起…答案是错误的…..

所以三个及以上的做法是这样的:

<mirrors>
    <mirror>
      <id>UK</id>
      <name>UK Central</name>
      <url>http://uk.maven.org/maven2</url>
      <mirrorOf>central</mirrorOf>
    </mirror>
<mirror>  
            <id>nexus-central</id>  
            <name>internal nexus repository</name>  
            <url>http://nexus.corp.com/nexus/content/repositories/public/</url>
                        <mirrorOf>central</mirrorOf>
        </mirror>  
        <mirror>  
            <id>soap</id>  
            <name>internal nexus repository</name>  
            <url>http://www.soapui.org/repository/maven2</url>
                        <mirrorOf>!UK,central</mirrorOf>
        </mirror>
<mirror>  
            <id>nightlabs</id>  
            <name>internal nexus repository</name>  
            <url>http://dev.nightlabs.org/maven-repository/maven.jahia.org-cache/</url>
                        <mirrorOf>!UK,!soap,central</mirrorOf>
        </mirror>  
  </mirrors>

要把改为central,
因为mvn碰到
就后边的都不会继续做下去了。虽然apache的官方文档说,只能有一个central,但其实可以有多个加上!mirrorId的central.

  • 本文作者: 帐前卒
  • 本文链接: http://chillyc.info/2013/10098165/
  • 版权声明: 本博客所有文章除特别声明外,只能复制超链接地址,且必须注明出处!