前言
当我们需要为应用程序打包时,有时需要在打包的文件名中加入时间戳,以区分不同版本的应用程序包。本文将介绍如何在Maven的pom.xml文件中配置,在打包时自动为文件名加上时间戳。通过本文的介绍,您将能够更加方便地管理应用程序包,并快速找到特定版本的应用程序包。
方法
第一种:使用Maven自带的功能
-
在pom.xml文件中加入以下配置
<properties> <maven.build.timestamp.format>yyyyMMddHHmmss</maven.build.timestamp.format> </properties>
-
在plugin中引入
<finalName> ${project.artifactId}-${project.version}_${maven.build.timestamp} </finalName>
Maven自带时间戳使用${maven.build.timestamp},但是时区是UTC。
如果要使用GMT+8,就需要插件提供支持,以下两个插件可以实现。
第二种:使用buildnubmer-maven-plugin
-
在pom.xml中引入插件
<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>buildnumber-maven-plugin</artifactId> <version>1.4</version> <configuration> <timestampFormat>yyyyMMdd</timestampFormat> </configuration> <executions> <execution> <goals> <goal>create-timestamp</goal> </goals> </execution> </executions> <inherited>false</inherited> </plugin>
-
在plugin中引入
<finalName> ${project.artifactId}-${project.version}_${timestamp} </finalName>
第三种:使用build-helper-maven-plugin
-
在pox.xml引入插件
<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>1.9.1</version> <executions> <execution> <id>timestamp-property</id> <goals> <goal>timestamp-property</goal> </goals> </execution> </executions> <configuration> <name>current.time</name> <pattern>yyyyMMdd-HHmmss</pattern> <timeZone>GMT+8</timeZone> </configuration> </plugin>
-
在plugin中引入
<finalName> ${project.artifactId}-${project.version}_${timestamp} </finalName>