maven打包加時間戳方法總結
阿新 • • 發佈:2017-06-21
默認 eat tid -m sta .gz create 兩個 false
基於Maven的項目,發布時需要打包,如tar.gz。web項目打成war格式包。每次打包時希望自己加上時間戳,假如我的項目名是myproject,默認打包後名為myproject.war。而我希望的名字為myproject-1.0.0-20160217。方便以後對包進行查找與管理,如何實現這種效果呢?
1 使用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,就需要插件提供支持,以下兩個插件可以實現。
2 使用buildnubmer-maven-plugin
<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>
默認屬性是timestamp,在打包plugin中引用該屬性
<finalName>
${project.artifactId}-${project.version}_${timestamp}
</finalName>
3 使用build-helper-maven-plugin
<build> <finalName>ProjectName-${current.time}</finalName> <plugins> <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> </plugins> </build>
將以上的幾種方式配置分別加入到自己的pom.xml文件中,打個包試試,是不是自己加上了時間戳 ^-^
maven打包加時間戳方法總結