Build Helper Maven Pluginをregex-property目標に使用しています。バージョンから修飾子を削除して、プロパティを取得したいと考えていproject.releaseVersionます。
私のプロジェクトが version を使用しているとしましょう1.2.3-SNAPSHOT。以下を使用できます。
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>3.0.0</version>
<executions>
<execution>
<id>set-project-release-version</id>
<goals>
<goal>regex-property</goal>
</goals>
<configuration>
<name>project.releaseVersion</name>
<value>${project.version}</value>
<regex>-SNAPSHOT</regex>
<failIfNoMatch>false</failIfNoMatch>
</configuration>
</execution>
</executions>
</plugin>
案の定、project.releaseVersion現在含まれています1.2.3。良い。
残念ながら、これは1.2.3-beta.4. したがって、「リリース」バージョンを取得するには、最初の-. 正規表現形式で-*は、-SNAPSHOT. だから私はこれを試しました:
<regex>-*</regex>
私がそれを試着すると1.2.3-SNAPSHOT、それは私に与えます1.2.3SNAPSHOT. 正規表現と一致するように見えますが、一致全体ではなく、-のみを置き換えます。
これはバグですか、それとも間違っていますか? そして、誰もが回避策を知っていますか?