使用单个存储库和单个镜像之间的区别

时间:2013-04-17 14:47:51

标签: maven

maven文档说:

http://maven.apache.org/guides/mini/guide-mirror-settings.html

  

使用单一存储库。您可以强制Maven使用单个   通过使镜像镜像所有存储库请求。存储库   必须包含所有想要的工件,或者能够代理   请求到其他存储库。使用时此设置最有用   一个内部公司存储库,带有Maven Repository Manager   代理外部请求。

     

要实现此目的,请将mirrorOf设置为*。

<settings>
  ...
  <mirrors>
    <mirror>
      <id>internal-repository</id>
      <name>Maven Repository Manager running on repo.mycompany.com</name>
      <url>http://repo.mycompany.com/proxy</url>
      <mirrorOf>*</mirrorOf>
    </mirror>
  </mirrors>
  ...
</settings>

我不明白这一段。

不应该是这样的吗?

  

使用单个镜像您可以强制Maven使用单个   镜像,使其镜像所有存储库请求。 镜像必须包含所有所需的所有工件   存储库,或者能够将请求代理给其他人   库。使用内部时,此设置最有用   公司存储库与Maven Repository Manager代理外部   要求。要实现此目的,请将mirrorOf设置为*。

 <settings>
   ...
   <mirrors>
     <mirror>
       <id>internal-mirror</id>
       <name>Maven Mirror Manager running on mirror.mycompany.com</name>
       <url>http://mirror.mycompany.com/proxy</url>
       <mirrorOf>*</mirrorOf>
     </mirror>
   </mirrors>
   ...
 </settings>

我的理解在哪里?

我的意思是,<mirror><id>internal-repository</id>...对我来说似乎是错的。

1 个答案:

答案 0 :(得分:6)

镜像是指用作其他存储库的passerelle / proxy的存储库。 当使用像Nexus,Artiafactory,Archiva这样的存储库管理器时......你会处理一个本地企业存储库,它会代理远程存储库。 因此,不需要在pom或setting.xml中声明太多的存储库。使用一个镜像将所有请求重定向到存储库管理器就足够了。 这就是文档的含义。