【发布时间】:2021-03-28 07:35:16
【问题描述】:
我有更多的 git-repositories,而不是手动处理。因此,有时我想将它们视为单个存储库,例如在尝试确保叶依赖项的测试不会失败时,因为我们更新了上游依赖项的版本。编写脚本似乎是个好主意。
所以我尝试将每个存储库中所有 root-pom 的版本更改为未使用的版本,例如 latest-SNAPSHOT(简单的版本:set)。但是当我在这个项目的用法中想告诉他们使用依赖的 lastest_SNAPSHOT 版本时,我遇到了问题。
mvn version:set 需要旧版本的依赖项才能用新版本替换它。但这不是我在此上下文中拥有的信息,因此我需要探测 pom.xml 以获取它。
有没有一种简单的方法可以简单地问这样的问题:mvn xxx:getVersion -DgroupId=nnn -DartifactId=mmm 然后得到 1.2.3 作为答案?
我是否说过我是在 bash 中编写这个脚本作为一个完全的菜鸟,所以现在不是建议解析 mvn dependency:tree 或类似的结果的时候,除非你提供完整的脚本。
【问题讨论】:
-
你不能用mojohaus.org/versions-maven-plugin/…之类的东西吗?
-
@JFabianMeier 据我了解,它需要 old_version 和我试图找到的那个版本。
-
你需要旧版本做什么?您可以将(部分)依赖项更新为最新的 SNAPSHOT 版本。