当我尝试自动化项目中所有poms的版本更新时,我无法解决此问题。版本: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。有没有可能解决这个问题?
答案 0 :(得分: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>