8

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>

我的误解在哪里?

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

4

1 回答 1

11

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

于 2013-05-04T11:31:05.477 回答