将快照文件部署到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(因为可能存在相同快照版本的数百个版本)
答案 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的所有时间戳列表,然后提取正确的时间戳。