更改Maven快照时间戳



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

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

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

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

我找不到有关如何执行此操作的任何文档,我不确定哪个代码实际上正在控制它,因此不能只是挖掘它。

想要设置此值的背后的原因是我希望将时间戳嵌入清单文件中,以便我们可以在Java Process&中读取它。将其与原始文件相关联,无需读取每个JAR(因为相同的快照版本可能有数百个构建)

可以通过声明属性maven.build.timestamp.format来自定义timestamp,您可以在此处找到文档

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

我们将"构建号"写入JAR中的属性文件(subtest.mf也可以正常工作),该文件代表创建的JAR名称的最后一部分(在您的情况下为37)。

有了这些信息,可以唯一识别jar,例如通过向给定快照的所有时间戳列表询问Nexus并提取正确的时间戳。

最新更新