1

我正在使用buildnumber-maven-pluginWAR 工件中包含各种版本参数,以便在页面上可见。在我的pom.xml

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>buildnumber-maven-plugin</artifactId>
    <version>1.4</version>
    <executions>
      <execution>
        <id>create-buildmeta</id>
        <phase>prepare-package</phase>
        <goals>
          <goal>create-metadata</goal>
        </goals>
      </execution>
    </executions>
    <configuration>
      <doCheck>false</doCheck>
      <doUpdate>false</doUpdate>
      <outputDirectory>${project.build.directory}/${project.build.finalName}</outputDirectory>
    </configuration>
</plugin>

这会产生一个类似于以下内容的 build.properties:

#Created by build system. Do not modify
#Fri Jan 05 17:10:02 EST 2018
version=2.1.0-SNAPSHOT
revision=1234
name=myApp
timestamp=1515190202388

我想svn info在文件中包含我的更多字段,例如最后一个对分支进行更改的用户等。有没有办法配置它以及如何配置?

4

1 回答 1

1

不幸的是,这并不容易实现buildnumber-maven-plugin正如您从源代码中看到的那样,默认情况下只会生成您已经提到的四个属性:

version=2.1.0-SNAPSHOT
revision=1234
name=myApp
timestamp=1515190202388

我可以想象实现您的目标的唯一方法buildnumber-maven-plugin是执行 svn 并将所需的信息存储在属性中(在示例中last.changed.user),您可以将其插入到配置中,如下所示

<configuration>
    <doCheck>false</doCheck>
    <doUpdate>false</doUpdate>
    <outputDirectory>${project.build.directory}/${project.build.finalName}</outputDirectory>
    <properties>
        <user>${last.changed.user}</user>
    </properties>
</configuration>

这会产生一个附加属性,结果如下:

version=2.1.0-SNAPSHOT
revision=1234
name=myApp
user=someUser
timestamp=1515190202388

不幸的是,我对 maven 的 svn 集成知之甚少,无法举例说明如何将所需信息存储在属性中。

于 2018-01-10T19:46:10.587 回答