【问题标题】:Adding custom fields to build.properties generated by buildnumber-maven-plugin将自定义字段添加到 buildnumber-maven-plugin 生成的 build.properties
【发布时间】:2018-01-05 22:36:04
【问题描述】:

我正在使用buildnumber-maven-plugin 在我的 WAR 工件中包含各种版本参数,以便在页面上可见。在我的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 中的更多字段,例如对分支进行更改的最后一个用户等。有没有办法配置它以及如何配置?

【问题讨论】:

标签: maven version-control buildnumber-maven-plugin


【解决方案1】:

不幸的是,buildnumber-maven-plugin 不容易做到这一点正如您从source code 中看到的那样,默认情况下只生成您已经提到的四个属性:

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 集成了解得不够多,无法给您举例说明如何将所需的信息存储在属性中。

【讨论】:

  • 你知道是否有更好的插件可以做到这一点?
  • 我不知道,对不起
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多