0

当我试图自动化项目中所有 pom 的版本更新时,我无法解决这个问题。versions:set plugin/command 确实替换了 pom 的几乎每个版本,但没有替换 pom.xml 本身的父部分中定义的父 pom(另一个项目)的版本。

<parent>
    <groupId>com.test.app</groupId>
    <artifactId>helloWorld</artifactId>
    <version>3.19.0-SNAPSHOT</version>
    <relativePath />
</parent>

<groupId>com.test.app.child</groupId>
<version>3.21.0-SNAPSHOT</version>
<artifactId>helloWorldChild</artifactId>
<name>${project.groupId}::${project.artifactId}</name>
<packaging>pom</packaging>

如您所见,这两个版本是不同的。这是在我执行以下命令之后:

mvn versions:set -DgroupId=com.test.app.* -DartifactId=* -DoldVersion=* -DnewVersion=3.21.0-SNAPSHOT

预期的结果是,所有版本都是3.21.0-SNAPSHOT而不是 3.19.0-SNAPSHOT。有没有可能解决这个问题?

4

1 回答 1

1

您的版本和组应该来自父级,它们不应该设置在子级中,只有工件应该设置在子级中。

<parent>
    <groupId>com.test.app</groupId>
    <artifactId>helloWorld</artifactId>
    <version>3.19.0-SNAPSHOT</version>
    <relativePath />
</parent>

<artifactId>helloWorldChild</artifactId>
<name>${project.groupId}::${project.artifactId}</name>
<packaging>pom</packaging>
于 2018-02-14T14:07:38.137 回答