如果我错了,请纠正我,但镜像用于将所有流量重定向到特定的存储库URL并阻止其他所有内容(包括Maven central repo).
如果我有镜像http://a.com:8081和存储库,那该怎么办http://b.com:8081?第二个URL会被使用吗?我假设答案是否定的.你能有多个镜子吗?
Tun*_*aki 26
如果我错了,请纠正我,但镜像用于将所有流量重定向到特定的存储库URL并阻止其他所有内容(包括Maven central repo).
这不完全正确.Maven通过在定义的存储库中搜索工件来下载工件.这些存储库在项目的POM或Maven设置中定义.但是,如镜像文档中所指定:
但是,您可能希望在不更改项目文件的情况下为特定存储库使用备用镜像.
让我们从文档中获取示例并对其进行评论:
<mirrors>
<mirror>
<id>UK</id>
<name>UK Central</name>
<url>http://uk.maven.org/maven2</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
Run Code Online (Sandbox Code Playgroud)
这定义了一个镜像,当Maven想要从Maven Central获取依赖关系时将使用该镜像.假设您有2个当前存储库,即Maven Central和自定义存储库A.以下是发生的情况:
repo1.maven.org.相反,它将从中获取它uk.maven.org,这是镜像配置元素中定义的URL.如此示例所示,镜像仅适用于使用<mirrorOf>配置元素定义的某些存储库.在前一种情况下,我们的<mirrorOf>central</mirrorOf>意思是"Mirror Maven Central".此元素可以具有各种值,文档提供了示例:
例子:
*=一切external:*=一切都不在本地主机上而不是基于文件.repo,repo1= repo或repo1*,!repo1=除了repo1之外的所有东西:
如果我有镜像
http://a.com:8081和存储库,那该怎么办http://b.com:8081?第二个URL会被使用吗?我认为答案是否定的.
以上表明答案并非严格禁止.http://a.com:8081当Maven将尝试从其镜像的其中一个存储库获取依赖项时,将使用镜像.如果确实镜像了存储库http://b.com:8081那么就不会有任何请求http://b.com:8081(它们将被重定向到http://a.com:8081); 但如果没有,Maven将继续http://b.com:8081像往常一样获取依赖关系.
你有多个镜子吗?
是的你可以.
| 归档时间: |
|
| 查看次数: |
16745 次 |
| 最近记录: |