为什么可以';当我可以手动下载快照工件时,Maven能找到它吗?

为什么可以';当我可以手动下载快照工件时,Maven能找到它吗?,maven,nexus,maven-metadata,Maven,Nexus,Maven Metadata,我有世界上最简单的Maven/Jenkins/Nexus设置 Maven每天通过Jenkins运行数十次,并将SNAPSHOTs部署到我们的Nexus存储库中 每隔一段时间,在似乎没有任何原因的情况下,运行另一个需要解析SNAPSHOTs的Maven作业就会失败。它在这些罕见的情况下失败了,Maven告诉我,它再也找不到它在许多情况下几个小时前上传的快照了 如果我将web浏览器指向Maven正在使用的存储库位置,我可以很好地找到它们 在这些错误之前,我总是看到(就像我在成功案例中看到的那样)正在

我有世界上最简单的Maven/Jenkins/Nexus设置

Maven每天通过Jenkins运行数十次,并将
SNAPSHOT
s部署到我们的Nexus存储库中

每隔一段时间,在似乎没有任何原因的情况下,运行另一个需要解析
SNAPSHOT
s的Maven作业就会失败。它在这些罕见的情况下失败了,Maven告诉我,它再也找不到它在许多情况下几个小时前上传的
快照了

如果我将web浏览器指向Maven正在使用的存储库位置,我可以很好地找到它们

在这些错误之前,我总是看到(就像我在成功案例中看到的那样)正在下载一堆
maven metadata.xml
文件。大概这些文件告诉Maven一些关于如何拍摄的信息,例如
1.009-SNAPSHOT
,并将其转换为
1.009-somehugetimestamphere

(我从未找到此文件的任何文档,其中似乎没有将任何文件名标记为“最新”或任何类似的内容。事实上,我根本看不出它有什么用处,但显然它一定有用处。)

(我在调试输出中还看到了对
解析器status.properties
的各种引用,它似乎是另一个写入本地存储库的未记录文件,跟踪与解析有关的内容,但我承认我不知道是什么。)

我的主要问题是:Maven究竟是如何下载、解析和检查快照的?假设存储库信息有效(毕竟,此作业90%的时间工作,10%的时间失败,没有任何更改),Maven会对给定的存储库采取哪些步骤来查找正确的
快照

编辑:找到了一些文档:虽然它没有解释为什么我在Nexus 2.0安装中找到的
maven metadata.xml
文件中没有
元素。它也没有详细说明这些文件是如何使用的


My的回答是,其中一些可能是Nexus的问题,因为它可能会也可能不会正确地生成这些
maven metadata.xml
文件。

前几天,我遇到了一个非常类似的问题,Nexus服务器代理了另一个存储库。在我的例子中,更改Nexus中的过期设置修复了问题。我将“工件最大年龄”和“元数据最大年龄”从1天减少到1分钟。

前几天我遇到了一个非常类似的问题,Nexus服务器代理另一个存储库。在我的例子中,更改Nexus中的过期设置修复了问题。我将“工件最大年龄”和“元数据最大年龄”从1天减少到1分钟。

谢谢;这是有帮助的,但不是根本问题。只是好奇,你能用你发现的任何根本原因更新这个问题吗?谢谢;这是有帮助的,但不是根本问题。只是好奇,你能用你发现的任何根本原因更新这个问题吗?