我对此做了很多研究,但到目前为止无法解决。
我有以下结构,
root folder
parent/pom.xml (parent pom)
artifact1/pom.xml
artifact2/pom.xml
pom.xml (aggregator pom)
root/pom.xml
------------
<parent>
<groupId>releasetest2</groupId>
<artifactId>root</artifactId>
<version>1.0.4</version>
<relativePath>parent</relativePath>
</parent>
<artifactId>aggregator</artifactId>
<packaging>pom</packaging>
artifact1/pom.xml
-----------------
<parent>
<groupId>releasetest2</groupId>
<artifactId>root</artifactId>
<version>1.0.4</version>
<relativePath>../parent</relativePath>
</parent>
<groupId>releasetest</groupId>
<artifactId>artifact1</artifactId>
<packaging>jar</packaging>
artifact2/pom.xml
-----------------
<parent>
<groupId>releasetest2</groupId>
<artifactId>root</artifactId>
<version>1.0.4</version>
<relativePath>../parent</relativePath>
</parent>
<groupId>releasetest</groupId>
<artifactId>artifact2</artifactId>
<packaging>jar</packaging>
parent/pom.xml
--------------
<groupId>releasetest2</groupId>
<artifactId>root</artifactId>
<version>1.0.4</version>
<packaging>pom</packaging>
<properties>
<MAIN.version>${project.version}</MAIN.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>releasetest</groupId>
<artifactId>artifact1</artifactId>
<version>${MAIN.version}</version>
</dependency>
<dependency>
<groupId>releasetest</groupId>
<artifactId>artifact2</artifactId>
<version>${MAIN.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
当我在父文件夹中使用 mvn versions:set 时,它只会更新 parent/pom.xml。我希望它更新 root/pom.xml artifact1/pom.xml 和 artifact2/pom.xml
有没有办法解决这个问题?
最佳答案
首先请恢复父 pom 中的版本号,并确保所有子 pom 具有相同的版本。
然后导航到父 pom 目录并执行以下命令:
mvn versions:set versions:update-child-modules -DnewVersion=<New_Version_Number> -DprocessAllModules
关于maven-3 - mvn 版本 :set not updating child poms,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19645809/