gpt4 book ai didi

maven repository setting.xml 镜像

转载 作者:行者123 更新时间:2023-12-04 03:57:14 25 4
gpt4 key购买 nike

<mirrors>
<!-- mirror
| Specifies a repository mirror site to use instead of a given repository. The repository that
| this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
| for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
|
<mirror>
<id>mirrorId</id>
<mirrorOf>repositoryId</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://my.repository.com/repo/path</url>
</mirror>
-->
<mirror>
<id>nexus-osc</id>
<mirrorOf>central</mirrorOf>
<name>Nexus osc</name>
<url>http://maven.oschina.net/content/groups/public/</url>
</mirror>
<mirror>
<id>nexus-osc-thirdparty</id>
<mirrorOf>thirdparty</mirrorOf>
<name>Nexus osc thirdparty</name>
<url>http://maven.oschina.net/content/repositories/thirdparty/</url>
</mirror>
<mirror>
<id>maven2</id>
<mirrorOf>maven2</mirrorOf>
<name>maven2</name>
<url>http://repo1.maven.org/maven2/</url>
</mirror>
</mirrors>
mirrorOf的具体用途是什么? ? maven 会先尝试从 id=nexus-osc 获取 jar 吗?然后 nexus-osc-thirdparty然后 maven2 ?
我已经查过了 maven mirror setting guide但我还是不明白。

最佳答案

引用 Maven documentation about mirrors :

To configure a mirror of a given repository, you provide it in your settings file (${user.home}/.m2/settings.xml), giving the new repository its own id and url, and specify the mirrorOf setting that is the ID of the repository you are using a mirror of.



这意味着 mirrorOf指向现有存储库声明并配置 Maven 以在它尝试连接指定存储库时使用该镜像。

让我们举个例子。您有一个项目,在您的项目中定义了以下存储库:

<project>
...
<repositories>
<repository>
<id>my-internal-site</id>
<url>http://myserver/repo</url>
</repository>
</repositories>
...
</project>

在您的设置中使用以下声明:

<settings>
...
<mirrors>
<mirror>
<id>UK</id>
<name>UK Central</name>
<url>http://uk.maven.org/maven2</url>
<mirrorOf>my-internal-site</mirrorOf>
</mirror>
</mirrors>
...
</settings>

这意味着每当 Maven 尝试从 my-internal-site 下载库时。存储库,它实际上不会使用 http://myserver/repo但是,相反,使用镜像声明并从 http://uk.maven.org/maven2 下载库。 .

确实如此 不是 定义任何顺序。它只是声明 Maven 需要在哪里下载 Artifact 来代替镜像存储库。

指定 <mirrorOf>central</mirrorOf>告诉 Maven 您正在镜像 Maven 中央存储库,这是 Maven 从中下载 Artifact 的默认位置。

因此,当您有一个中央内部存储库并且每个 Maven 请求都通过该存储库管理器时,通常在企业上下文中使用镜像。

关于maven repository setting.xml 镜像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35264981/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com