我们有以下设置xml
<profiles>
<profile>
<id>active-repo</id>
<repositories>
<repository>
<id>A</id>
<url>XXXXX</url>
<releases><updatePolicy>never</updatePolicy></releases>
</repository>
<repository>
<id>B</id>
<url>XXXXXX</url>
<releases><enabled>true</enabled></releases>
<snapshots/>
</repository>
<repository>
<id>C</id>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>false</enabled></snapshots>
<url>XXXXX</url>
</repository>
<repository>
<id>D</id>
<url>XXXXX</url>
<releases><updatePolicy>never</updatePolicy></releases>
</repository>
<repository>
<id>E</id>
<url>XXXXX</url>
<snapshots/>
</repository>
</repositories>
令人惊讶的是,尝试从存储库“D”下载依赖项,从而覆盖前面提到的依赖项 此外,一旦尝试失败并显示以下消息 - 其他存储库没有回退
[INFO] [WARNING] Failure to transfer xxxxxx from XXXXXX was cached in the local repository, resolution will not be reattempted until the update interval of D has elapsed or updates are forced.
问题:
如何确定存储库中的查找顺序?
为什么它不会回退到其他存储库?
pom中的依赖项查找没有明确的存储库覆盖。
答案 0 :(得分:0)
不确定订单,但Maven只会从snapshots
&gt;的存储库下载快照工件。 enabled
= true
并仅从具有releases
&gt;的存储库中发布(即非快照) enabled
= true
。
因此,您的示例中的xxxxxx
版本可能非常重要,因为并非所有存储库都有资格获得快照和版本。