【技术贴】Maven打包文件增加时间后缀

构建war包,或者jar包的,时候,maven会自动增加一个版本号和时间放在jar包后面比如poi-3.9-20131115.jar这样子,但是我自己打war包,总是给我生成一个快照的后缀report-0.0.1-SNAPSHOT.war这个样子,所以我想干掉这个后缀,或者说我什么都不用,那么本篇教程围绕3个问题展开。

1.后缀什么都不加,需要在build节点下跟上一个<finalName>节点即可。生成的war包或者jar包不含任何杂余。

打包结果:report.war

<build>
<finalName>report</finalName>
</build>

2. 后缀跟上时间戳,这个需要在<finalName>节点下使用maven的内置变量maven.build.timestamp,会生成带时间戳的war包

打包结果:report-20131115-1450.war

<build>
<finalName>${project.artifactId}-${maven.build.timestamp}</finalName>
</build>

还有一种方法,使用maven的插件,buildnumber-maven-plugin

<finalName>${project.artifactId}-${project.version}-${buildNumber}</finalName>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<version>1.0-beta-4</version>
<executions>
<execution>
<phase>initialize</phase>
<goals>
<goal>create</goal>
</goals>
</execution>
</executions>
<configuration>
<doCheck>false</doCheck>
<doUpdate>false</doUpdate>
<revisionOnScmFailure/>
<format>{0,date,yyyyMMdd}</format>
<items>
<item>timestamp</item>
</items>
</configuration>
</plugin>

3.后缀跟上快照号

在dependencies节点之前的version节点下写入即可。

<groupId>com.riambsoft</groupId>
<artifactId>report</artifactId>
<packaging>war</packaging>
<!-- 快照
<version>0.0.1-SNAPSHOT</version>-->
<!-- 后缀时间 -->
<version>${maven.build.timestamp}</version>
<name>report</name>
<url>http://www.riambsoft.com</url>
<dependencies>

参考帖子

1.http://www.dewen.org/q/7578

2.http://www.iteye.com/problems/80754

3.http://blog.csdn.net/woxueliuyun/article/details/9170369

上一篇:JindoFS解析 - 云上大数据高性能数据湖存储方案


下一篇:Android JIN简单单步调试