【技术贴】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>
参考帖子
2.http://www.iteye.com/problems/80754
3.http://blog.csdn.net/woxueliuyun/article/details/9170369