更新多个模块的版本号
我有一个多模块maven项目。 我们打算将所有这些模块一起版本化。 但截至目前,我正在结束每个模块pom.xml中的硬编码版本,如下所示
<parent>
<artifactId>xyz-application</artifactId>
<groupId>com.xyz</groupId>
<version>2.50.0.g</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>com.xyz</groupId>
<artifactId>xyz-Library</artifactId>
<version>2.50.0.g</version>
主父模块具有以下配置
<modelVersion>4.0.0</modelVersion>
<groupId>com.xyz</groupId>
<artifactId>xyz-application</artifactId>
<version>2.50.0.g</version>
<packaging>pom</packaging>
使用versions:set
从versions-maven插件中设置:
mvn versions:set -DnewVersion=2.50.1-SNAPSHOT
它将调整多模块项目中的所有pom版本,父版本和依赖版本。
如果你犯了一个错误,那么
mvn versions:revert
事后,或
mvn versions:commit
如果你对结果感到满意。
注意:此解决方案假设所有模块都使用聚合POM作为父POM,这是在此答案时被视为标准的场景。 如果情况并非如此,那么请选择Garret Wilson的答案。
你可能想看看Maven发布插件的版本:更新版本的目标。 它将更新父级版本以及它下面的所有模块。
更新:请注意以上是发布插件。 如果你没有发布,你可能想使用versions:set
mvn versions:set -DnewVersion=1.2.3-SNAPSHOT
我鼓励你阅读关于多模块(反应堆)构建的Maven书。
我的意思是特别如下:
<parent>
<artifactId>xyz-application</artifactId>
<groupId>com.xyz</groupId>
<version>2.50.0.g</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>com.xyz</groupId>
<artifactId>xyz-Library</artifactId>
<version>2.50.0.g</version>
应该改成。 这里只关心未定义的版本,只在其定义的父部件中使用。
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>xyz-application</artifactId>
<groupId>com.xyz</groupId>
<version>2.50.0.g</version>
</parent>
<groupId>com.xyz</groupId>
<artifactId>xyz-Library</artifactId>
这是一个更好的链接。
链接地址: http://www.djcxy.com/p/61771.html