mirrorOf
id=nexus-osc
的用途是什么? maven会先尝试从nexus-osc-thirdparty
然后maven2
然后uint8
获取jar吗?
我已经检查了maven mirror setting guide,但我仍然无法理解。
答案 0 :(得分:8)
引用Maven documentation about mirrors:
要配置给定存储库的镜像,请在设置文件(
${user.home}/.m2/settings.xml
)中提供该镜像,为新存储库提供其自己的ID和URL,并指定作为ID的mirrorOf
设置您正在使用镜像的存储库。
这意味着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
,而是使用镜像声明并从{{{{}}下载库。 1}}。
不定义任何订单。它只是声明Maven需要下载工件来代替镜像存储库。
指定http://uk.maven.org/maven2
告诉Maven您正在镜像Maven Central存储库,这是Maven从中下载工件的默认位置。
因此,当您拥有一个中央内部存储库并且每个Maven请求都通过该存储库管理器时,通常在企业上下文中使用镜像。