将快照文件部署到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并提取正确的时间戳。