maven打包加时间戳

来源:互联网 发布:凯洛伦的十字光剑淘宝 编辑:程序博客网 时间:2024/05/08 06:58

maven打包加时间戳方法总结

基于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文件中,打个包试试,是不是自己加上了时间戳 ^-^

1 0
原创粉丝点击