在Maven 2中,我如何知道传递依赖来自哪个依赖?
时间:2020-03-05 18:44:54 来源:igfitidea点击:
我想知道pom.xml中描述的哪个依赖项在我的目标目录中带来了传递性依赖项。
更准确地说,我的WEB-INF / lib目录中有一个库" poi-2.5.1-final-20040804.jar",我想知道pom.xml中的哪个依赖项会带来这种情况。
解决方案
回答
使用Maven依赖插件:
mvn dependency:tree
回答
如果使用" -x"开关运行maven,它将打印出大量诊断信息,我猜想可以从那里获取相关的依赖路径。
回答
要添加到@David Crow,下面是Maven站点中的dependency:tree示例:
mvn dependency:tree -Dincludes=velocity:velocity
可能输出
[INFO] [dependency:tree] [INFO] org.apache.maven.plugins:maven-dependency-plugin:maven-plugin:2.0-alpha-5-SNAPSHOT [INFO] \- org.apache.maven.doxia:doxia-site-renderer:jar:1.0-alpha-8:compile [INFO] \- org.codehaus.plexus:plexus-velocity:jar:1.1.3:compile [INFO] \- velocity:velocity:jar:1.4:compile
回答
如果我们已经使maven使用mvn site为项目生成了站点,则依赖项信息也将包含在"项目信息/依赖项"报告中。
回答
如果我们使用eclipse和m2eclipse插件(http://m2eclipse.sonatype.org),那么将有一个图形化版本的依赖树,我们可以在其中按作用域等进行过滤。
回答
我们可以通过以下方式获得许多报告
mvn site
其中之一是依赖性报告。