如何让artifactory为虚拟repo更新maven-metadata.xml?

如何让artifactory为虚拟repo更新maven-metadata.xml?,maven,artifactory,maven-metadata,Maven,Artifactory,Maven Metadata,长期读者,第一次询问 我有一个独立的网络(没有互联网接入)。它有一个artifactory服务器,该服务器具有虚拟libs快照和libs发布repos。在libs snapshot下,有4个本地快照repo。这样做的原因是,我们从其他地方(未连接)获得了所有artifactory repo的转储,并将其导入该网络。但我们必须修改快照工件的一个子集。因此,我们创建了另一个本地快照repo,称之为mine snapshot local(maven 2 repo,设置为unique,max artif

长期读者,第一次询问

我有一个独立的网络(没有互联网接入)。它有一个artifactory服务器,该服务器具有虚拟libs快照和libs发布repos。在libs snapshot下,有4个本地快照repo。这样做的原因是,我们从其他地方(未连接)获得了所有artifactory repo的转储,并将其导入该网络。但我们必须修改快照工件的一个子集。因此,我们创建了另一个本地快照repo,称之为mine snapshot local(maven 2 repo,设置为unique,max artifacts=1?),并将其添加到libs snapshot virtual的顶部。理论上,这将允许我们修改我们需要的少量工件,部署到我们自己的repo中,本地开发人员将选择这些工件。但是,我们仍然可以从其他非连接系统的定期转储中访问99%的其他工件。此外,我们可以从另一个网络(同时被修改)批量导入DROP,而无需触碰我们的独立网络repo(mine snapshot local)。我猜我们是“分支”人工回购

我意识到我们可以直接部署到一个导入的repo中,但下一次我们从另一个网络获得转储时,所有这些自定义修改的工件都会消失。。。所以如果可能的话,我真的很想让这个方法发挥作用

在我的本地eclipse中,maven插件将工件显式地、毫无错误地部署到我的快照本地repo。我看到的问题是虚拟libs快照的maven-metadata.xml没有更新。该文件的时间戳已更新,如果我使用web浏览器浏览libs snapshot/which_包,我可以看到新部署的工件,其时间戳比现有的快照更新。但是maven-metadata.xml文件仍然包含指向“较旧”快照的指针

maven-metadata.xml在矿井快照本地repo中成功更新,但就好像artifactory没有为虚拟repo正确地将所有元数据文件合并在一起一样。或者,更可能的是,我错误地配置了一些东西,导致它以某种方式忽略了顶层本地回购协议(但为什么快照jar/pom仍然会出现在那里呢?)

我们正在使用Artifactory2.6.1(并且没有升级的选项)

我尝试了很多方法:将快照repos设置为unique、ununique、deployer、限制快照的数量等等。所有这些似乎都没有多大区别

我确实认为可能存在的一个问题是分配给快照的内部版本号。例如,在导入的repo中,工件可能具有一周前的时间戳,但构建号为4355。在我的新repo中,当我部署时,我有一个更新得多的时间戳,但是构建号是1(或者比4355小得多的东西)

我这样尝试多个本地快照回购,是不是找错了方向?看起来这应该可以,但可能不行

您使用的是非常(但非常)旧的Artifactory版本,可能是您遇到了一个早已过去的问题。正常的行为应该是,如果您有4个maven存储库,并且您将新的工件更新/部署到其中一个存储库中,那么虚拟存储库应该聚合所有列出的存储库中的元数据


为了验证,您提到您是从Eclipse部署的,您是指P2吗?如果是这样的话,只是一个旁注,Artifactory将不会计算P2工件的元数据

好的,现在我已经回复了,我看到这是一篇3年前的帖子,所以它可能不相关……:)