我使用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
的更多字段,比如对分支进行更改的最后一个用户等。有没有办法配置它以及如何配置?
答案 0 :(得分: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集成知之甚少,并举例说明如何在属性中存储所需的信息。