当年的Maven财产

时间:2016-09-03 12:55:27

标签: maven

我有一个maven项目,可以在构建期间生成属性文件。我想要包括的一个属性是项目的版权日期。

我的属性定义如下:

<properties>
    <copyright-years>${project.inceptionDate}-2016</copyright-years>
</properties>

我在其他地方使用build.timestamp属性。

如何将属性中的2016替换为当前年份,理想情况下只需更改此实例中的时间戳格式?

1 个答案:

答案 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}一起使用。