偶尔,Maven会抱怨找不到一个特定的依赖项,即使该依赖项已在本地构建和打包,并在另一个项目中作为依赖项进行构建。我们会遇到以下错误:
在构建X项目时执行目标失败:无法解析X项目的依赖关系:在本地存储库中缓存了在[archiva repository]中找不到Y的结果,除非内部的更新间隔已过期或强制更新,否则不会重新尝试解决依赖项->
其中,X是正在构建的项目,Y是被认为丢失的工件。如果您查看本地存储库,则会发现这个工件在那里。这个工件从来没有安装在我们的Archiva存储库中,因此问题纯粹基于本地存储库。
我们已经尝试了各种设置.xml文件中的配置文件以及"mvn -U"命令。 但都无济于事,也应该如此,因为该工件永远不会超出本地存储库。
似乎唯一有效的两个方法是等待很长时间,直到Maven变得聪明起来,或完全删除本地存储库。 前面的等待选项可能与前述的更新间隔有关。
我们在Maven 3.0.2和3.0.3中遇到了这个问题。 我们正在使用Archiva 1.0.3(但这不应该是一个因素)。如有帮助,将不胜感激。
mvn dependency:resolve
(https://maven.apache.org/plugins/maven-dependency-plugin/resolve-mojo.html)来检查特定的依赖项是否可用,并使用mvn help:effective-pom
查看 pom 在 maven 运行时的状态,即包括从父 pom 继承的所有内容等(https://maven.apache.org/plugins/maven-help-plugin/effective-pom-mojo.html)。 - Conan