Java Maven';s设置版本插件不';t在子模块中设置父版本

Java Maven';s设置版本插件不';t在子模块中设置父版本,java,maven,maven-versions-plugin,Java,Maven,Maven Versions Plugin,当我试图自动更新项目中所有POM的版本时,我无法解决这个问题。versions:set plugin/command确实替换了pom的几乎所有版本,但没有替换pom.xml本身的父部分中定义的父pom(另一个项目)的版本 <parent> <groupId>com.test.app</groupId> <artifactId>helloWorld</artifactId> <version>3.19.

当我试图自动更新项目中所有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>

预期结果是,所有版本都是3.21.0-SNAPSHOT,而不是3.19.0-SNAPSHOT。是否有可能修复此问题?

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

<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>

com.test.app
地狱世界
3.19.0-快照
helloWorldChild
${project.groupId}::${project.artifactId}
聚甲醛

不幸的是,由于几个原因,我们的项目不允许这样做。还有什么好办法吗?它们是maven的规则,你正在打破它们,这就是多模块项目的工作方式
<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>