由于我无法控制的原因,我们必须使用maven项目设置,其中最顶层的pom.xml实际上不是父pom。现在我们想创建一个jenkins部署管道,当然它会将整个reactor的唯一版本部署到我们的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)
现在我们必须:
我在the versions:set
mojo中看不到执行此操作的参数。
调用mvn versions:set -DnewVersion=1.2.3
仅设置根pom的版本。完全相同的调用在传统的父/子反应堆构建中完美地起作用。
有没有可能的解决方案?
注意:
versions:update-child-modules
不是一个选项,因为我们无法定义特定的目标版本
答案 0 :(得分:4)
已经讨论了on the mailing list并报告了MVERSIONS-131),结论是最好通过实施对通配符的支持来处理这个问题:
mvn versions:set -DgroupId='*' -DartifactId='*' -DoldVersion='*' -DnewVersion=1.2-SNAPSHOT
此改进报告为MVERSIONS-228;它似乎没有在versions-maven-plugin
的当前版本(2.1)中实现。