我们在开发过程中使用包含SNAPSHOTS的版本范围。在发布时,我想强制Maven仅使用非SNAPSHOT版本解析这些范围。有没有办法做到这一点?
理想情况下,我希望发布pom本身解析为特定版本(如版本:resolve-ranges),然后在下一个开发版本中恢复范围,但我很确定它不存在。
我的下一个最佳想法是找到一种方法来说服Maven在依赖项解析期间完全忽略SNAPSHOTS(通过构建标志或插件配置)。我的第一次尝试 - 通过发布配置文件禁用远程快照存储库 - 无法解决问题,因为即使远程快照存储库被禁用,它仍会在我的本地.m2 /存储库中找到任何SNAPSHOTS。
我应该注意到,我并不十分关注通过POM进行可重现的版本构建,因为我们的发布工件是汇集JAR,可以引入所有未包装的依赖项 - 因此在构建期间使范围解析为当前版本对我来说已经足够了
我知道:规范的回应是“版本范围不好”。我只想说我们有足够的相互依赖的模块可以获得足够频繁的更新和部署,如果我们不使用范围,我们将花费一半的时间来更新依赖版本并发布。