TS *_*nes 5 artifactory maven maven-metadata
长时间读者,第一次问问...
我有一个独立的网络(没有互联网接入).它有一个神器服务器,它有虚拟的libs-snapshot和libs-release repos.在libs-snapshot下,有4个本地快照存储库.这样做的原因是我们从其他地方(非连接)获取所有神器回购的转储,并将其导入该网络.但我们必须修改那里的快照工件的子集.所以我们创建了另一个本地快照仓库,称之为mine-snapshot-local(maven 2 repo,设置为唯一,max artifacts = 1?),并将其添加到libs-snapshot virtual 的顶部.从理论上讲,这将允许我们修改我们需要的少量工件,部署到我们自己的仓库,本地开发人员会选择那些.但是我们仍然可以从其他非连接系统的定期转储中访问99%的其他工件.此外,我们可以批量导入来自同时被修改的其他网络的丢弃,而无需触及我们的独立网络仓库(我的快照本地).我想我们正在"分支"神器回购......
我意识到我们可能只是直接部署到其中一个导入的repos中,但是下次我们从另一个网络获得转储时,所有这些自定义修改的工件都会消失...所以我真的很想让这个方法得到如果可能的话.
从我的本地eclipse中,maven插件显式地将工件部署到mine-snapshot-local repo ,并且没有错误.我看到的问题是虚拟libs-snapshot的maven-metadata.xml没有被更新.该文件的时间戳已更新,如果我使用Web浏览器浏览libs-snapshot/whatever_package,我可以看到新部署的工件,其时间戳比现有快照更新.但maven-metadata.xml文件仍包含指向"较旧"快照的指针.
maven-metadata.xml在mine-snapshot-local repo中成功更新,但就好像artifactory没有正确地将所有元数据文件合并到虚拟仓库中.或者,更有可能的是,我错误配置了某些东西导致它忽略了我们的顶层本地仓库(但为什么快照jar/pom仍会显示在那里?).
我们正在使用artifactory 2.6.1(并且没有升级选项).
我尝试了很多方面:将快照存储库设置为唯一的,非唯一的部署程序,限制快照的数量等等.似乎没有任何区别.
我认为可能存在问题的一件事是分配给快照的内部版本号.例如,在导入的repo中,工件的时间戳可能是一周,但是内部版本号为4355.在我的新repo中,当我部署时,我有一个更新的时间戳,但内部版本号为1(或比4355小得多的东西.
我试图拥有这样的多个本地快照存储库,从而咆哮错误的树吗?看起来这应该没问题,但也许不行.
您正在使用非常(但非常)旧版本的 Artifactory,并且您可能遇到了一个早已消失的问题。正常的行为应该是,如果您有 4 个 Maven 存储库,并且您将新工件更新/部署到这些存储库之一,则虚拟存储库应该聚合所有列出的存储库中的元数据。
只是为了验证一下,您提到您正在从 Eclipse 进行部署,您指的是 P2 吗?如果只是旁注,Artifactory 将不会计算 P2 工件的元数据。
归档时间: |
|
查看次数: |
1285 次 |
最近记录: |