我正在升级一个大型构建系统以使用 Maven2 而不是 Ant,并且我们有两个相关的要求:
- 我们需要生成一个带时间戳的工件,所以 包 阶段(或任何地方)的一部分,而不是构建
project-1.0-SNAPSHOT.jar
我们应该建造
project-1.0-20090803125803.jar
(其中 `20090803125803` 只是一个 `YYYYMMDDHHMMSS` 构建 jar 时的时间戳)。
唯一真正的要求是时间戳是生成文件的文件名的一部分。
- 相同的时间戳必须包含在生成的 jar 中的 version.properties 文件中。
当您运行时,此信息包含在生成的 pom.properties 中,例如 mvn package
但被注释掉了:
#Generated by Maven
#Mon Aug 03 12:57:17 PDT 2009
关于从哪里开始的任何想法都会有所帮助!谢谢!
原文由 Ryan 发布,翻译遵循 CC BY-SA 4.0 许可协议
Maven 版本 2.1.0-M1 或更高版本内置了特殊变量
maven.build.timestamp
。有关详细信息,请参阅 Maven 文档。
对于较旧的 Maven 版本,请查看 maven-timestamp-plugin 或 buildnumber-maven-plugin 。
如果你使用 maven-timestamp-plugin,你可以使用类似这样的东西来操作生成的工件名称。
buildnumber-maven-plugin 的这个配置应该创建一个包含时间戳值的 ${timestamp} 属性。似乎没有办法直接用这个插件创建 version.properties 文件。
这 三个 网站 也值得一试。