Maven Release Plugin自增自定义格式版本

Jam*_*mes 6 java continuous-integration maven devops

我希望能够通过在 Maven 发布插件 ( mvn -B release:prepare) 中使用非交互模式来自动增加 Java 项目的发布版本。但是我不想使用默认的 Maven 版本控制架构。

我想使用的架构是<major>.<minor>.<bugfix>-SNAPSHOT. 我确实设法在 pom 文件中执行此操作,但是 Maven 尝试按如下方式增加它:

1.0.0-SNAPSHOT
1.0.1-SNAPSHOT
1.0.2-SNAPSHOT
...
Run Code Online (Sandbox Code Playgroud)

但是我希望能够对此进行控制,虽然有时我确实有错误修正并且上述增量工作,但大多数时候我想发布次要版本,因此增量看起来像这样:

1.0.0-SNAPSHOT
1.1.0-SNAPSHOT
1.2.0-SNAPSHOT
...
Run Code Online (Sandbox Code Playgroud)

khm*_*ise 6

您可以通过build-helper-maven-plugin处理此问题,如下所示:

mvn build-helper:parse-version versions:set \
   release:prepare \
      -DdevelopmentVersion =\${parsedVersion.majorVersion}.\${parsedVersion.nextMinorVersion}.0-SNAPSHOT \
   release:perform
Run Code Online (Sandbox Code Playgroud)

这将设置1.1.0-SNAPSHOT为下一个开发版本。下次您调用发布插件时,它将从中生成,并且如果您不喜欢只使用上面的调用,1.1.0它将自动递增...1.1.1-SNAPSHOT