在Maven 3.6.0中自动更新项目版本

时间:2019-05-28 20:20:10

标签: java maven-3

我正在一个项目中使用Maven 3.6.0,该项目使用https://maven.apache.org/maven-ci-friendly.html中所述的revision属性设置了项目的版本,并且我想在命令行中自动更新项目的版本。

我尝试使用maven release plugin命令来查看release:update-versionshttps://maven.apache.org/maven-release/maven-release-plugin/update-versions-mojo.html)的侧面,该命令似乎有效,但它不是更新属性revision,而是更新version属性。

当前设置:

    <version>${revision}</version>

    <properties>
        <revision>1.1-SNAPSHOT</revision>
    </properties>

运行mvn release:update-versions时:

    <version>1.2-SNAPSHOT</version>

    <properties>
        <revision>1.1-SNAPSHOT</revision>
    </properties>

预期:

    <version>${revision}</version>

    <properties>
        <revision>1.2-SNAPSHOT</revision>
    </properties>

2 个答案:

答案 0 :(得分:1)

以下是发生这种情况的说明:

执行mvn release:update-versions时,它将通过首先获取修订版属性的值来增加版本。此命令也不关心更新属性值。

通常,可以在命令行中使用-D标志来更新maven中的属性值,如下所示:

mvn release -Drevision=1.2-SNAPSHOT

以下链接也可能有帮助:

https://maven.apache.org/maven-release/maven-release-plugin/examples/non-interactive-release.html

https://maven.apache.org/maven-release/maven-release-plugin/update-versions-mojo.html

答案 1 :(得分:0)

最后,我通过使用maven versions插件获得了相同的结果,但是没有使用${revision}标签。

mvn versions:set -DnextSnapshot=true

Versions插件比Release插件灵活得多,可以管理您项目的版本。