如果我错了,请纠正我,但镜像用于将所有流量重定向到特定的存储库URL并阻止其他所有内容(包括Maven中央存储库)。
如果我有镜子怎么办? http://a.com:8081
和一个存储库 http://b.com:8081
。第二个URL会被使用吗?我假设答案是否定的。你能有多个镜子吗?
如果我错了,请纠正我,但镜像用于将所有流量重定向到特定的存储库URL并阻止其他所有内容(包括Maven中央存储库)。
如果我有镜子怎么办? http://a.com:8081
和一个存储库 http://b.com:8081
。第二个URL会被使用吗?我假设答案是否定的。你能有多个镜子吗?
如果我错了,请纠正我,但镜像用于将所有流量重定向到特定的存储库URL并阻止其他所有内容(包括Maven中央存储库)。
这不完全正确。 Maven通过在定义内部搜索来下载工件 资料库。这些存储库在项目的POM或Maven设置中定义。但是,如规定的那样 镜像文档:
但是,您可能希望在不更改项目文件的情况下为特定存储库使用备用镜像。
让我们从文档中获取示例并对其进行评论:
<mirrors>
<mirror>
<id>UK</id>
<name>UK Central</name>
<url>http://uk.maven.org/maven2</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
这定义了一个镜像,当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
像往常一样。
你有多个镜子吗?
是的你可以。