为什么Maven可以生成`有效的pom`但却无法生成`依赖列表'?

时间:2018-02-27 23:37:13

标签: maven dependencies effective-pom

当我意识到这一点时,我正在玩Maven项目:

$mvn help:effective-pom会导致构建成功

然而

$mvn dependency:list导致 BUILD FAILURE

据我所知,有效的pom还包括一个详细的依赖列表。那么dependency:list试图输出的内容实际上可以在有效的pom中找到。

有人可以解释一下我的误解吗?

要复制问题: $git clone --depth 1 https://github.com/naver/pinpoint.git $cd pinpoint $mvn clean help:effective-pom $mvn clean dependency:list

完整的错误消息:

  

[错误]无法在项目精确定位上执行目标:无法解析项目com.navercorp.pinpoint的依赖关系:pinpoint-commons:jar:1.7.2-SNAPSHOT:找不到com.navercorp.pinpoint:精确定位-thrift:jar:https://repository.cloudera.com/artifactory/cloudera-repos/中的1.7.2-SNAPSHOT缓存在本地存储库中,在cloudera的更新间隔已经过去或强制更新之前,不会重新尝试解析 - > [帮助1]

1 个答案:

答案 0 :(得分:0)

错误消息基于问题。您是否已经定义了一个不再可用的依赖项(可能是使用SNAPSHOT的情况)或者您没有正确配置存储库(访问问题防火墙/代理?)...此外区别在于{{1}使用继承等从你的项目pom创建pom的文件。而:effective-pom解析依赖关系,它显示配置代理/防火墙的问题导致它尝试访问这些依赖关系。

所以我会检查com.navercorp.pinpoint依赖关系等的用法。因为它不存在于存储库中,也不存在于你配置的任何内容中,也不认为SNAPSHOT是一个好主意依赖...