如何使 maven-metadata.xml 具有与使用 maven 部署的工件相同的时间戳?

How can I make maven-metadata.xml have the same timestamp as the artifact wen deployed with maven?

我有一个 Nexus 3,我用 "mvn deploy" 从 Jenkins 部署了一些工件。我有很多模块 500+。构建看起来有点像这样:

mvn clean package -DskipTests -DskipITs -T C1

mvn install -DskipTests -DskipITs -T C1

mvn deploy --quiet -DskipTests -DskipITs -Dmaven.validate.skip=true -Dmaven.compile.skip=true -Dmaven.test.skip=true -Dmaven.package.skip=true -Dmaven.integration-test.skip=true -Dmaven.verify.skip=true -T C1

问题是有时我的工件有时间戳,而元数据有不同的时间戳。通常相差1秒。

这是我在 https://mynexus.com/repository/snapshots/com/company/my-artifact/1.0.0-SNAPSHOT/maven-metadata.xml

的 nexus 中看到的
<?xml version="1.0" encoding="UTF-8"?>
<metadata modelVersion="1.1.0">
  <groupId>com.company</groupId>
  <artifactId>my-artifact</artifactId>
  <version>1.0.0-SNAPSHOT</version>
  <versioning>
    <snapshot>
      <timestamp>20170613.140447</timestamp>
      <buildNumber>1</buildNumber>
    </snapshot>
    <lastUpdated>20170613140447</lastUpdated>
    <snapshotVersions>
      <snapshotVersion>
        <extension>war</extension>
        <value>1.0.0-20170613.140447-1</value>
        <updated>20170613140447</updated>
      </snapshotVersion>
      <snapshotVersion>
        <extension>pom</extension>
        <value>1.0.0-20170613.140447-1</value>
        <updated>20170613140447</updated>
      </snapshotVersion>
    </snapshotVersions>
  </versioning>
</metadata>

判断maven-metadata.xml,神器URL应该是这样的:

https://mynexus.com/repository/snapshots/com/company/my-artifact/1.0.0-SNAPSHOT/my-artifact/1.0.0-20170613.140447-1.war

但事实并非如此。相反,工件位于此位置:

https://mynexus.com/repository/snapshots/com/company/my-artifact/1.0.0-SNAPSHOT/my-artifact/1.0.0-20170613.140446-1.war

mvn --version OpenJDK 64 位服务器虚拟机 阿帕奇 Maven 3.5.0(ff8f5e7444045639af65f6095c62210b5713f426;2017-04-03T21:39:06+02:00) Maven 主页:/usr/local/apache-maven Java版本:1.8.0_131,供应商:Oracle Corporation Java 家:/usr/lib/jvm/java-8-openjdk-amd64/jre 默认语言环境:en_US,平台编码:UTF-8 OS 名称:"linux",版本:“4.4.0-64-generic”,架构:"amd64",系列:"unix"

maven-deploy-plugin版本为2.8.2

我做错了什么?我怎样才能解决这个问题? 谢谢!

这是 Maven 3.5.0 中的错误,将在 3.5.1 发布时解决。

原始错误报告针对部署插件 (https://issues.apache.org/jira/browse/MDEPLOY-221) however it's an issue with maven core: https://issues.apache.org/jira/browse/MNG-6240

我们在工作中遇到了同样的问题,在对专家问题跟踪器进行了一些挖掘和搜索后,我找到了上面的链接。我建议在等待 3.5.1 出来时降级。