由于我无法控制的原因,我们必须使用 maven 项目设置,其中最顶层的 pom.xml 实际上不是父 pom。现在我们想创建一个 jenkins 部署管道,它当然会将整个反应器的唯一版本部署到我们的 nexus 存储库。
我们的设置是这样的:
root (no parent pom)
+---- parent (company-wide parent pom is somewhere else)
+---- module1 (parent pom is ../parent/pom.xml)
+---- module2 (parent pom is ../parent/pom.xml)
现在我们必须:
- 将 root、parent、module1 和 module2 的版本设置为我们唯一的构建版本
- 将 module1 和 module2 的父版本设置为相同的构建版本
- 保持外部父 pom 的版本不变
我在 mojo 中没有看到执行versions:set
此操作的参数。调用mvn versions:set -DnewVersion=1.2.3
仅设置根 pom 的版本。完全相同的调用在传统的父/子反应器构建中完美运行。
有没有可能的解决方案?
注意:
versions:update-child-modules
不是一个选项,因为我们无法定义特定的目标版本