我怎么加入的时间戳记的信息以专家文物?
题
我升级了一大建立系统的使用Maven2而不是蚂蚁,而且我们有两个相关的要求,我被卡住了:
我们需要产生时间标记的项目,所以一个部分 包 相位(或地方),而不是建设
project-1.0-SNAPSHOT.jar
我们 应该建筑
project-1.0-20090803125803.jar
(那里的
20090803125803
只是一个YYYYMMDDHHMMSS
时间戳记的当罐子 建).只有真正的要求是的时间戳是一部分 产生的文件的文件。
同一时间戳有被包括在一个 版本。性能 文件 内部产生的罐子。
这种信息包括在该产生的 pom。性能 当你跑,
例如, mvn package
但是评论:
#Generated by Maven
#Mon Aug 03 12:57:17 PDT 2009
任何想法从哪里开始将是有帮助的!谢谢!
解决方案
玛文版本2.1.0,包括-M1或新的具有内置在特殊的可变 maven.build.timestamp
.
<build>
<finalName>${project.artifactId}-${project.version}-${maven.build.timestamp}</finalName>
</build>
看到家 文档 更多的细节。
老年家版本,一个看看 专家-时间戳的插件 或 内部版本号-玛文件.
如果您使用的家时间戳件,可以使用这样的事情操纵导致的神器名称。
<build>
<finalName>${project.artifactId}-${project.version}-${timestamp}</finalName>
</build>
这种配置,用于内部版本号-玛文件应该建立一个${时间戳}酒店,其中包含的时间戳值。似乎没有以一种方式来创建的 版本。性能 文件直接与这个插件。
<configuration>
<format>{0,date,yyyyMMddHHmmss}</format>
<items>
<item>timestamp</item>
</items>
</configuration>
其他提示
如果你使用一个版本的家>=2.1.0,包括-M1,然后你可以用美元{家.建立。时间戳}财产。
更多信息,见:http://maven.apache.org/guides/introduction/introduction-to-the-pom.html#Available_Variables
如果你需要时在一个时区,比其他UTC(默认当你使用 ${maven.build.timestamp}
)可以使用 build-helper-maven-plugin
.看到更多 简短的例子如何使用的建立帮助家插件的目标.
无论如何,这是我已经得到了 时间戳在格林尼治标准时间-5 并把它的最终名称的我的项目:
<build>
<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>
<configuration>
<name>current.time</name>
<pattern>yyyyMMdd-HHmmss</pattern>
<timeZone>GMT-5</timeZone>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<finalName>${project.name}-${current.time}</finalName>
</configuration>
</plugin>
</plugins>
</build>
这个职位(特别是以下部分)也是非常有用和实际用于这一问题。
Pom会是这样的
...
<properties>
....
<!-- Timestamp of build -->
<timestamp>${maven.build.timestamp}</timestamp>
<maven.build.timestamp.format>yyyy_MM_dd_HH_mm</maven.build.timestamp.format>
</properties>
...
<build>
<finalName>${project.artifactId}-${project.version}-${timestamp}</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
....
</plugin>
</plugins>
</build>
....
并包的名字是 MyProject-1.0. 0-2015_03_02_13_46.war
快照时部署项目,通过默认时间戳是使用,除非替代它的 部署插件.如果你没有得到独特的时间戳,这可能是下一个构的专家库。像其他回答说,虽然使用的时间戳或内部版本号件释放。
我们需要一个新的回答:) 它是建立在现在: http://maven.apache.org/guides/introduction/introduction-to-the-pom.html#Available_Variables
使用 ${maven.build.timestamp}