同じ問題があり、複数のコマンドを実行したり、バージョンを手動で挿入したりせずに解決したかったのです。
y(またはマイナー)インクリメントの私の解決策は次のとおりです。
初期化フェーズで Groovy スクリプトを実行します。このスクリプトはrelease.propertiesを作成します。これをpom.xmlのproject/build/pluginsセクションに追加します。
<plugin>
<groupId>org.codehaus.gmavenplus</groupId>
<artifactId>gmavenplus-plugin</artifactId>
<version>1.5</version>
<dependencies>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>2.4.6</version>
</dependency>
</dependencies>
<executions>
<!-- Force maven-release-plugin to increase MINOR, not PATCH, and create tag as vX.Y.Z -->
<execution>
<id>release-parameters</id>
<phase>initialize</phase>
<goals>
<goal>execute</goal>
</goals>
<configuration>
<scripts>
<script>
<![CDATA[
final String SNAPSHOT = '-SNAPSHOT'
Properties releaseProps = new Properties()
File releasePropsFile = new File('release.properties')
String releaseVersion = '${project.version}'.replace('-SNAPSHOT', '')
String[] vNumbers = releaseVersion.split('\\.')
String snapshotVersion = vNumbers[0] + '.' + (Integer.parseInt(vNumbers[1]) + 1) + '.' + '0' + SNAPSHOT
releaseProps.setProperty('scm.tag', 'v' + releaseVersion)
releaseProps.setProperty('project.rel.${project.groupId}:${project.artifactId}', releaseVersion)
releaseProps.setProperty('project.dev.${project.groupId}:${project.artifactId}', snapshotVersion)
releaseProps.store(releasePropsFile.newWriter(), null)
]]>
</script>
</scripts>
</configuration>
</execution>
</executions>
</plugin>
このスクリプトは、SCMのvX.YZのタグ名も変更します。release:prepareフェーズでは、初期化フェーズは実行されません。この問題を解決するには、リリース前に「mvn install」を実行するか、リリース コマンドを次のように変更します。
mvn --batch-mode initialize clean release:prepare release:perform
release.properties について: https://maven.apache.org/maven-release/maven-release-plugin/examples/non-interactive-release.html