Maven Nexus群排序
我们使用nexus作为存储库管理系统。然而,我们在管理团队方面遇到了一个问题 基本上,我们有一个快照版本的工件,它位于两个存储库中。我们将这两个存储库按照希望nexus搜索它们的顺序添加到同一个组中。这符合文件规定: 因此,通过在repo2之上排序repo1,我们总是希望从repo1下载示例工件。然而,我们在现实中发现,尽管有订购,我们总是从任何一家回购公司下载最新的快照版本。因此,如果repo2有一个更新的快照版本,我们将把它拉下来Maven Nexus群排序,maven,nexus,Maven,Nexus,我们使用nexus作为存储库管理系统。然而,我们在管理团队方面遇到了一个问题 基本上,我们有一个快照版本的工件,它位于两个存储库中。我们将这两个存储库按照希望nexus搜索它们的顺序添加到同一个组中。这符合文件规定: 因此,通过在repo2之上排序repo1,我们总是希望从repo1下载示例工件。然而,我们在现实中发现,尽管有订购,我们总是从任何一家回购公司下载最新的快照版本。因此,如果repo2有一个更新的快照版本,我们将把它拉下来 还有谁见过这种行为吗?nexus不考虑快照存储库的排序吗?这
还有谁见过这种行为吗?nexus不考虑快照存储库的排序吗?这实际上不是nexus,而是Maven,发生了什么:
- Maven从Nexus请求“Maven metatadata.xml”
- Nexus以给定的顺序(repo1、repo2…)遍历成员存储库,并合并这些XML文件
- 从合并的XML中,Maven“获得”了最新快照的知识,并明确地要求它
- Nexus什么都做不了,我打赌你的快照有不同的名称(artifactId-1.0-yyyy.mm.dd.hh.mm.jar,但这两个可能有不同的yyyyymdd等),并且满足Maven的要求
在这里,您可以通过路由规则使Nexus对Maven“隐藏”内容。添加一条规则,对于给定的groupId、artifactId或任何东西(实际上是一个regexp),它只从repo1提供服务。您真的需要在两个存储库中有相同的快照工件吗?似乎必然会引起混乱。
group
...
--> repo1
...
--> com.test.example-1.0.0-SNAPSHOT
...
--> repo2
...
--> com.test.example-1.0.0-SNAPSHOT
...
...