我有一个maven项目,可以在构建期间生成属性文件。我想要包括的一个属性是项目的版权日期。
我的属性定义如下:
<properties>
<copyright-years>${project.inceptionDate}-2016</copyright-years>
</properties>
我在其他地方使用build.timestamp
属性。
如何将属性中的2016替换为当前年份,理想情况下只需更改此实例中的时间戳格式?
答案 0 :(得分:10)
您可以使用build-helper-maven-plugin
执行此任务。它有一个timestamp-property
目标,可用于将具有给定格式的时间戳存储到Maven属性中:
根据当前日期和时间设置属性。
优点是它不会强制您定义特定的maven.build.timestamp.format
,如果您打算在其他地方以第二种方式格式化当前日期,这将不方便。示例配置为:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.12</version>
<executions>
<execution>
<id>timestamp-property</id>
<goals>
<goal>timestamp-property</goal>
</goals>
<phase>validate</phase>
<configuration>
<name>current.year</name>
<pattern>yyyy</pattern>
</configuration>
</execution>
</executions>
</plugin>
这会将当前年份存储在current.year
Maven属性中。这是在validate
阶段完成的,这是执行的第一个阶段,因此构建的所有其余部分都可以将其与${current.year}
一起使用。