【问题标题】:Difference between using a single repository and a single mirror使用单个存储库和单个镜像之间的区别
【发布时间】:2013-04-17 14:47:51
【问题描述】:

Maven 文档说:

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

使用单一存储库。您可以强制 Maven 使用单个 通过让它镜像所有存储库请求来存储库。存储库 必须包含所有所需的工件,或者能够代理 对其他存储库的请求。此设置在使用时最有用 带有 Maven 存储库管理器的内部公司存储库 代理外部请求。

为此,请将 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 存储库管理器代理外部的公司存储库 要求。为此,请将 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>

我的误解在哪里?

我的意思是,&lt;mirror&gt;&lt;id&gt;internal-repository&lt;/id&gt;... 对我来说似乎是错误的。

【问题讨论】:

标签: maven


【解决方案1】:

镜像是指一个存储库,用作其他存储库的传递者/代理。 当使用 Nexus、Artiafactory、Archiva 等存储库管理器时,您需要处理一个本地企业存储库来代理远程存储库。 所以没有必要在你的 pom 或 setting.xml 中声明太多的仓库。仅使用一个将所有请求重定向到您拥有的存储库管理器的镜像就足够了。 这就是文档的意义。

【讨论】:

  • 但是如果我使用 repo-manager (Artifactory),我不能在我的 repo-manager 的 settings.xml 中声明一个 repo,而不是使用镜像吗?
  • @napilioni 我可能会迟到但想理解。我可以直接在存储库本身中声明,而不是声明镜像,对吗?我不明白镜像的目的。
猜你喜欢
  • 1970-01-01
  • 2021-11-07
  • 1970-01-01
  • 1970-01-01
  • 2010-11-29
  • 1970-01-01
  • 2014-05-22
  • 2011-06-30
  • 1970-01-01
相关资源
最近更新 更多