Maven Nexus没有';t更新快照的元数据
我的设置是一个jenkins,它轮询我的git repo,并在每次推送时发布到nexus repo。然后我有一个下游项目,它接受这个工件并将其部署到测试服务器。这个项目使用jenkins的工件解析器插件,只使用“最新”版本 我注意到以下几点。发布新快照后,元数据仅在特定版本文件夹中更新。特定的版本元数据是正确的: :Maven Nexus没有';t更新快照的元数据,maven,jenkins,sbt,ivy,nexus,Maven,Jenkins,Sbt,Ivy,Nexus,我的设置是一个jenkins,它轮询我的git repo,并在每次推送时发布到nexus repo。然后我有一个下游项目,它接受这个工件并将其部署到测试服务器。这个项目使用jenkins的工件解析器插件,只使用“最新”版本 我注意到以下几点。发布新快照后,元数据仅在特定版本文件夹中更新。特定的版本元数据是正确的: : 单色 显示旧的时间戳: <metadata modelVersion="1.1.0"> <groupId>se.uniply</groupId&g
单色
显示旧的时间戳:
<metadata modelVersion="1.1.0">
<groupId>se.uniply</groupId>
<artifactId>dfkka_2.10</artifactId>
<versioning>
<latest>1.2.7-SNAPSHOT</latest>
<release/>
<versions>
<version>1.2.7-SNAPSHOT</version>
</versions>
<lastUpdated>20130523200733</lastUpdated>
</versioning>
</metadata>
单色
dfkka_2.10
1.2.7-快照
1.2.7-快照
20130523200733
因此,工件解析器不下载最新版本,只使用本地目录中的缓存版本。为什么Nexus不更新版本?有什么我错过的场景吗
更多信息:
我正在使用sbt 12.2和发布插件(引擎盖下的常春藤)。我也在sbt谷歌小组中询问了这一点:
在做了更多的研究之后,这条线索
似乎是说它的常春藤没有按照使用Maven时预期的方式放置这些文件。一个解决方案是为SBT使用一个以太插件,它以Maven的方式“部署”而不是“发布”
通过使用此版本,xml:s也得到了更新,使用了来自SBT构建的PUT:s。其他答案相关的ivy和Maven快照版本:
总之,快照版本是一种Maven功能,ivy不完全支持它。Nexus实际上根本不维护这些文件。构建系统就是这样做的。如果您使用的是Maven,则部署插件将处理它
看来sbt和ivy做得不太好。我建议按照@hedefalk的建议集成sbt以太部署工具
作为权宜之计,您可以定期在存储库上运行重建元数据任务。我实际上尝试了重建元数据,但我记得它似乎对我不起作用。无论如何,乙醚部署插件现在对我来说工作得非常出色。
<metadata modelVersion="1.1.0">
<groupId>se.uniply</groupId>
<artifactId>dfkka_2.10</artifactId>
<versioning>
<latest>1.2.7-SNAPSHOT</latest>
<release/>
<versions>
<version>1.2.7-SNAPSHOT</version>
</versions>
<lastUpdated>20130523200733</lastUpdated>
</versioning>
</metadata>