我正在使用 Maven 和 Eclipse 构建 Java(Web)应用程序。
当我查看我的 .war
文件时,我可以在那里看到以下日志库:
log4j-1.2.14.jar
log4j-1.2.17.jar
slf4j-api-1.7.5.jar
slf4j-log4j12-1.7.5.jar
我没有在我的 pom.xml
中声明这些库,因此它们可能是传递依赖项(即我的依赖项的依赖项)。
如何找出我的哪些依赖项依赖于这些库?
我尝试使用 mvn dependency:tree
插件,但它没有显示任何这些 .jar
。
在 Eclipse 中,Java Resources > Libraries > Maven Dependencies
节点也不显示它们。不过,奇怪的是,它显示了我项目的其他传递依赖项。
最佳答案
如果你只想依赖maven,你可能想仔细看看依赖插件,这里有两个例子:
mvn dependency:tree -Dverbose
将显示更详细的信息 - 特别是如果一个 Artifact 因与另一个 Artifact 版本冲突而被省略(例如收敛问题)。它还将向您显示具有所有传递依赖关系的层次结构。
要分析特定的人工制品(例如查找谁提供了特定的传递依赖项),您可以这样指定:
mvn 依赖:tree -Dincludes=com.my.group.id:my-artefact-id:jar:1.0.1 -Dverbose
(明显需要根据需要调整artifact、包装类型和版本的地方)
关于eclipse - 如何找到 Maven 传递依赖的父级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20878086/