Maven 多模块项目版本管理

2022-09-01 16:45:31

指定多模块 maven 项目的版本的最佳做法是什么?

我希望在所有模块中都有一个版本字符串。即使我在根父 pom 中只能有一个版本定义,我也需要在每个 pom 中指定父 pom 版本。这意味着,如果我需要更改版本,我需要更改所有poms。实际上违背了目的。任何想法??


答案 1

你试过版本maven插件吗

您可以在所有底层maven项目中设置给定的版本。 mvn versions:set -DnewVersion="1.1-SNAPSHOT"

之后,您必须执行删除临时文件并提交到VCS mvn versions:commit


答案 2

更好的方法是在父 pom 中定义您的版本.xml如下所示。

<groupId>com.my.code</groupId>
<artifactId>my_pro</artifactId>
<version>${YOUR_VERSION}</version>

<properties>
    <JDK_VERSION>1.7</JDK_VERSION>        
    <YOUR_VERSION>1.0-SNAPSHOT</YOUR_VERSION>// here you define your version
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <org.springframework.version>3.1.2.RELEASE</org.springframework.version>
</properties>

然后,您不想在所有子pom.xml中逐个更改版本号。

子 pom.xml可以按如下方式添加依赖项

<version>${YOUR_VERSION}</version>

推荐