我遇到了一个奇怪的问题:
我使用“ mvn deploy
”(Maven 3.3.9,Jenkins 2.45,Nexus 2.12.0)在jenkins中将快照jar部署到我的nexus,结果如下(假设jar名称为userdao.jar
):
Uploaded: myNexusIp/nexus/content/repositories/snapshots/xxx/1.0-SNAPSHOT/userdao-1.0-20170512.111840-6.jar
Uploaded: myNexusIp/nexus/content/repositories/snapshots/xxx/1.0-SNAPSHOT/maven-metadata.xml
构建成功,一切正常。
但是当我构建另一个依赖于上面的 maven 项目时,userdao.jar
发生了如下错误:
Could not find artifact userdao:jar:1.0-20170512.111840-6 in public (http://myNexusIp/nexus/content/groups/public/)
定位后我发现maven-metadata.xml
nexus中的时间戳比实际jar的时间戳多一秒!
如下:
- 在
maven-metadata.xml
:1.0-20170512.111840-6 - 实际存在的快照 jar:userdao-1.0-20170512.111839-6.jar
因为userdao-1.0-20170512.111840-6.jar
Nexus 中不存在,所以应该是正确的userdao-1.0-20170512.111839-6.jar
,所以它错误。
谁能告诉我为什么以及如何解决它?