2

假设我在 Nexus 中有一个“公共”组,其中包含两个存储库“snapshotsA”和“snapshotsB”。两者都包含具有相同 Maven 坐标的版本,例如com.something:artifact:1.0.0-SNAPSHOT. Nexus 如何解析 SNAPSHOT 引用?它是否会查看两个存储库以找到最新的元素?还是找到第一个就满足了?

4

2 回答 2

3

对于 Nexus Repository 2.x 中的组,我们解决组排序中的第一个匹配项,除非某种 Repository Routing 或 Repository Target 规则阻止匹配(例如,如果您知道该组件的错误版本存在于该存储库中不以不变的方式处理组件等...)

在 Nexus Repository 3.x 中,这目前更简单,因为我们还没有实现 Repository Routing。组排序中的第一场比赛是你会得到的。

于 2017-01-25T21:07:07.570 回答
1

组存储库提供同一 URL 下的存储库列表。他们从他们服务的所有存储库中获取maven-metadata.xml文件并创建它们的合并表示。他们还通过maven-indexer(这是一个由 Sonatype 作为 OSS 贡献给 Apache 的库,它允许存储库管理器或工具(例如 IDE)使用存储库中包含的工件索引)具有 Lucene 索引。组存储库的索引也是组中每个存储库的索引的合并表示。

据我所知,对于 Nexus 2.x,文件系统是第一个尝试的地方,如果失败,则会查询 Lucene 索引,以便从相应的代理存储库的远程主机进行解析。

于 2017-01-25T11:18:11.743 回答