如何查找引用哪个依赖项当前jar文件?

时间:2014-03-24 17:32:34

标签: java maven

在Eclipse中,展开项目资源管理器中的当前项目,

点击Java Resources - > libraries - > Maven Dependencies

我发现有两个不同版本的jar文件,即:

commons-lang-2.1.jar
and
commons-lang3-3.1.jar

但是从pom.xml,我无法分辨commons-lang-2.1.jar来自哪里,因为其中一件工件必须要求。但是从每个工件中检查pom文件太麻烦了......

我听说dependency-tree可以运作类似但不知道如何在这种情况下使其工作。任何提示都表示赞赏。

2 个答案:

答案 0 :(得分:2)

mvn dependency:tree

查找commons-lang的两个实例,看看有什么需要它们。

尽管如此,这两个版本并不兼容,并且可以存在于同一个应用程序中:

http://commons.apache.org/proper/commons-lang/article3_0.html

See this answer of mine regarding deciphering the tree output.简而言之,缩进库是其上方非缩进库的依赖:依赖树。

答案 1 :(得分:2)

执行

mvn dependency:tree

如果你有非常巨大的依赖树并且难以阅读,你可以使用

mvn dependency:tree -Dincludes=org.apache.commons:commons-lang3

只包含此工件的出现

从你的pom.xml中它将列出所有直接或间接提取的依赖项,并放置<exclusion>以避免消耗非所需的库