我的Maven项目有2个快照依赖项。我需要远程存储库中具有可用的依赖项A的最新快照,同时,我的本地〜/ .m2存储库中具有可用的快照依赖项B的版本。
快照副本B也位于远程存储库中,但是我的CI作业需要使用此快照依赖项的本地构建实例。因此,快照上没有时间戳记,因此其文件路径为~/.m2/repository/groupId/artifactId/1.0.0-SNAPSHOT/artifactId-1.0.0-SNAPSHOT.tar.gz
由于需要拆分,因此--no-snapshot-updates
和配置settings.xml之类的解决方案无法解决问题。
有什么建议吗?
更新:如果本地生成的快照少于24小时,则默认情况下该方法有效。我不确定在原始实验中配置错误的内容。事实证明,使用快照B的本地版本是因为其文件系统的上次更新时间少于24小时。快照A在本地存储库中不存在,因此可以按预期从远程存储库中获取快照。
答案 0 :(得分:0)
尝试时间戳,您可以使用1.0.0作为版本。
查看本文: How do I add time-stamp information to Maven artifacts?
答案 1 :(得分:0)
我将通过添加后缀来更改B的版本:当B现在为2.0.0-SNAPSHOT
时,使其变为2.0.0-LOCAL-SNAPSHOT
。如果您以此版本构建和引用B,则可以确保B的任何远程版本都不会干扰您的构建。
答案 2 :(得分:0)
如果本地生成的快照少于24小时,则默认情况下此方法有效。我不确定在原始实验中配置错误的内容。事实证明,使用快照B的本地版本是因为其文件系统的上次更新时间少于24小时。快照A在本地存储库中不存在,因此可以按预期从远程存储库中获取快照。