【问题标题】:Changing maven snapshot timestamp更改 Maven 快照时间戳
【发布时间】:2019-02-24 23:54:02
【问题描述】:

在将快照文件部署到 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 进程中读取它并将其关联回原始文件,而无需读取每个 jar(因为可能存在同一快照版本的数百个构建)

【问题讨论】:

  • MANIFEST.MF 中的时间戳与工件部署期间创建的时间戳不同。简而言之,您无法更改文件的时间戳。您可以更改已回答的 MANIFEST.MF 条目。

标签: maven maven-deploy-plugin


【解决方案1】:

可以通过声明属性maven.build.timestamp.format来自定义构建timestamp,你可以找到文档here

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2017-10-13
      • 2012-05-17
      • 2011-01-10
      • 1970-01-01
      • 2018-02-15
      • 2021-10-28
      • 1970-01-01
      • 2011-10-04
      • 2018-11-27
      相关资源
      最近更新 更多