我们在团队中使用 Maven/Nexus/Hudson。我们的 Hudson 服务器上的 Maven 版本是 3.0.4,并且在构建作业时无法下载快照依赖项。我不确定发生了什么变化(团队中没有做任何事情,所以他们说),但发生了一些事情,因为周一早上工作的构建在周一下午停止工作。
当我尝试在 Hudson 中构建具有快照依赖项的项目时,出现此错误:
[WARNING] The POM for com.company:my-client:jar:1.9-SNAPSHOT is missing, no dependency information available
我相信我已经将问题归结为 Maven 没有下载maven-metadata.xml
文件,因此无法解决对时间戳版本的依赖关系。例如,在我的本地构建中(使用 Maven 3.0.3),我在 Maven 输出中看到了这一点:
Downloading: http://ip:8080/nexus/content/groups/public/com/company/my-client/1.9-SNAPSHOT/maven-metadata.xml
Downloaded: http://ip:8080/nexus/content/groups/public/com/company/my-client/1.9-SNAPSHOT/maven-metadata.xml (1004 B at 20.0 KB/sec)
Downloading: http://ip:8080/nexus/content/groups/public/com/company/my-client/1.9-SNAPSHOT/my-client-1.9-20130625.202822-1.pom
Downloaded: http://ip:8080/nexus/content/groups/public/com/company/my-client/1.9-SNAPSHOT/my-client-1.9-20130625.202822-1.pom (3 KB at 57.5 KB/sec)
...
Downloading: http://ip:8080/nexus/content/groups/public/com/company/my-client/1.9-SNAPSHOT/my-client-1.9-20130625.202822-1.jar
...
Downloaded: http://ip:8080/nexus/content/groups/public/com/company/my-client/1.9-SNAPSHOT/my-client-1.9-20130625.202822-1.jar (10 KB at 153.9 KB/sec)
两个版本都在访问我们的 Nexus 存储库,而且 Hudson Maven 从它访问非快照依赖项没有问题,所以这不是连接问题。
为什么 Maven 无法识别 SNAPSHOT 并下载maven-metadata.xml
以获取依赖项的最新时间戳版本?