使用 Maven 3.8.x(不确定确切版本)。
我支持大量服务的平台端,这些服务使用带有内部网工件存储库(nexus)的父 pom。我经常更新 nexus 中的工件,并在桌面和我们的 CI 服务器上看到它们通过“mvn -U”下载。
昨天我有一个情况,我不得不更新我们父 pom 的最新发布版本(不是快照)。其中一项更改是更改 Surefire 的版本。我将该版本部署到 nexus 并检查了索引中的工件以验证是否存在更改。我通过本地构建验证了它正在获取新版本。然后我运行了一个 CI 构建,但是当 Surefire 运行时,它仍然使用旧版本的 Surefire。我试了几次,但没有得到新版本。
似乎“mvn -U”对父 poms 的作用与对其他工件的作用不同,但我找不到任何相关文档。
我将继续从构建节点上的本地 Maven 存储库中清除工件,但另一个团队必须这样做。
是否有任何理由期望“mvn -U”会出现这种行为?添加“-X”会告诉我有用的信息吗?