0

我正在使用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。它似乎与正则表达式匹配,但只替换了-而不是整个 match

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

4

0 回答 0