maven打包文件增加时间戳

finalName配置时间属性

通过原生方式获取时间戳

maven提供了获取时间戳的方式,我们可以通过${maven.build.timestamp}获取当前打包时间的时间戳。

如果我们需要将时间戳格式化,则需要在配置一下属性

1
2
3
4
5
6
<properties>
<maven.build.timestamp.format>yyyyMMddHHmmss</maven.build.timestamp.format>
</properties>
<finalName>
${project.artifactId}-${project.version}_${maven.build.timestamp}
</finalName>

通过第三方插件获取时间戳

原生方式获取的格式化的时间戳有个问题:无法根据当前时区进行格式化,我们可以通过下面的插件进行实现。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<finalName>
${project.artifactId}-${project.version}_${maven.build.time}
</finalName>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>3.0.0</version>
<executions>
<execution>
<id>timestamp-property</id>
<goals>
<goal>timestamp-property</goal>
</goals>
</execution>
</executions>
<configuration>
<locale>zh_CN</locale>
<timeZone>GMT+8</timeZone>
<name>maven.build.time</name>
<pattern>${maven.build.timestamp.format}</pattern>
</configuration>
</plugin>