Build Helper Maven插件不会删除整个正则表达式

时间:2018-12-17 16:24:28

标签: maven version build-helper-maven-plugin

我正在将Build Helper Maven Pluginregex-property目标一起使用。我想从一个版本中删除所有限定词,并给我一个project.releaseVersion属性。

假设我的项目使用的是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。它看起来与正则表达式匹配,但仅替换了-不是整个匹配项

这是一个错误,还是我做错了?有人知道解决方法吗?

0 个答案:

没有答案