我遇到了一个奇怪的问题:
我使用" 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
Run Code Online (Sandbox Code Playgroud)
构建成功,一切都很好.
但是当我构建另一个依赖于上面的maven项目时,userdao.jar
发生了如下错误:
Could not find artifact userdao:jar:1.0-20170512.111840-6 in public (http://myNexusIp/nexus/content/groups/public/)
Run Code Online (Sandbox Code Playgroud)
定位后我发现maven-metadata.xml
nexus中的时间戳比实际jar的时间戳大一秒多!
如下:
maven-metadata.xml
:1.0-20170512.111840-6因为userdao-1.0-20170512.111840-6.jar
在Nexus中不存在userdao-1.0-20170512.111839-6.jar
,所以应该是正确的,所以它是错误的.
谁能告诉我为什么以及如何解决它?