更新多个模块的版本号

我有一个多模块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

上一篇: Updating version numbers of modules in a multi

下一篇: Which maven dependencies to include for spring 3.0?