为什么依赖:list -DincludeScope = compile列出了测试范围项的传递依赖项的编译范围

时间:2013-06-21 14:02:52

标签: maven maven-dependency-plugin

“mvn dependency:list -DincludeScope = compile”是否应包含测试范围deps的子依赖项?

我的项目依赖于“org.apache.httpcomponents:httpclient:jar:4.1:测试” 和httpclient依赖于“org.apache.httpcomponents:httpcore:jar:4.1:编译

如果我查看编译范围依赖项,我不希望在httpclient下面看到任何内容,因为它是测试范围,并且应该过滤掉依赖项的分支。

但是,以下内容包括核心“列出httpcore

mvn dependency:list -DincludeScope=compile -DexcludeScope=test|grep -i http.*core

[INFO]    org.apache.httpcomponents:httpcore:jar:4.1:compile

My Project的依赖关系:树输出

[INFO] +- org.apache.httpcomponents:httpclient:jar:4.1:test
[INFO] |  +- org.apache.httpcomponents:httpcore:jar:4.1:compile
[INFO] |  +- commons-logging:commons-logging:jar:1.1:test
[INFO] |  \- commons-codec:commons-codec:jar:1.4:compile

我错过了一个“正确”处理这个问题的旗帜,或者我误解了在这种情况下适当的情况。

1 个答案:

答案 0 :(得分:0)

哦,这是一个错误(http://jira.codehaus.org/browse/MNG-3089)在这个帖子http://www.mail-archive.com/dev@maven.apache.org/msg68011.html中解释但未修复。