? ? ? 在执行 ?mvn clean package -Dmaven.test.skip=true 后,生成的 jar 包带有自定义系统时间。
? ? 使用系统时间戳,但有一个问题,就是默认使用 UTC+0 的时区。举例:当前时北京时间,而使用该方法时,生成的时间是 0时区的时间,而不是 UTC+8? 的北京时间。
? ? ?pom.xml 配置如下
<properties>
<maven.build.timestamp.format>yyyyMMdd_HHmmss</maven.build.timestamp.format>
</properties>
<build>
<finalName>
${project.artifactId}_${project.version}_${maven.build.timestamp}
</finalName>
</build>
在?<build></build> 模块中引入依赖,并配置即可。
<build>
<finalName>${project.artifactId}_${project.version}_${build.time}</finalName>
<!-- 时间插件 -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>3.5.0</version>
<executions>
<execution>
<id>timestamp-property</id>
<goals>
<goal>timestamp-property</goal>
</goals>
<configuration>
<name>build.time</name>
<pattern>yyyyMMdd_HHmmss</pattern>
<locale>zh_CN</locale>
<timeZone>GMT+8</timeZone>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
如果 pom.xml 语法检测?${build.time} 有问题,不用管,正常打包即可。