更改Maven快照时间戳

时间:2019-02-24 23:54:03

标签: maven maven-deploy-plugin

将快照文件部署到Maven存储库时,我希望能够控制结果文件名中使用的时间戳,现在我看到这样的显示:

/snapshots/com/exampleinc/example/0.0.0-SNAPSHOT/example-0.0.0-20190224.230223-37.jar

我希望能够在运行20190224.230223时设置mvn deploy

我尝试设置maven.build.timestamp,但是对它没有影响。

我找不到有关如何执行此操作的任何文档,并且我不确定实际上是哪段代码控制了此操作,因此不能一探究竟。

想要设置此值的原因是我希望将时间戳记嵌入清单文件中,以便我们可以在java进程中读取它并将其关联回原始文件,而无需读取每个jar(因为可能存在相同快照版本的数百个版本)

2 个答案:

答案 0 :(得分:0)

可以通过声明属性timestamp来定制版本maven.build.timestamp.format,可以找到文档here

<properties>
  <maven.build.timestamp.format>yyyyMMdd-HHmmss</maven.build.timestamp.format>
</properties>

答案 1 :(得分:0)

我们在jar中的属性文件中写入一个“内部版本号”(MANIFEST.MF也可以),它代表所创建的jar名称的最后一部分(在您的情况下为37)。

借助此信息,可以唯一地标识罐子,例如向Nexus询问给定SNAPSHOT的所有时间戳列表,然后提取正确的时间戳。