我知道这是微不足道的,但我敢打赌,我不是唯一对这个问题感到烦恼的开发者:
我有一个maven项目为一个webapp构建一个Spring Hibernate frameowrk。 我正在使用Eclipse构建。
我使用Eclipse快捷方式来导入依赖项,并且通常在下意识中这样做。
在我的项目依赖项的某处,我有一个包含以下包的jar。
edu.emory.mathcs.backport.java.util
我经常不小心导入此包而不是java.util并导致编译或运行时错误。
问题:如何找出包含此包的依赖项,以便我可以(希望)使用Maven enforcer插件将其排除。
答案 0 :(得分:5)
这不会直接回答您的问题,但可能会帮助您首先防止意外导入:
在Eclipse中,您可以在首选项→ Java →外观→类型中添加类型过滤器过滤
从那里的描述:
完全限定名称与所选过滤器字符串匹配的所有类型都不会显示在“打开类型”对话框中。在内容辅助或快速修复提议以及组织导入时,它们也将被忽略。例如,'java.awt。*'将隐藏awt包中的所有类型。
答案 1 :(得分:2)
您可以从命令行运行mvn dependency:tree
。它将显示您的依赖项树及其传递依赖项。
答案 2 :(得分:2)
在Eclipse中,您可以使用 Maven POM编辑器(POM文件的默认编辑器)打开pom.xml
,然后单击依赖关系层次结构。
在此视图中,您可以使用过滤器或选择右侧的依赖关系,此依赖关系的依赖关系树将显示在左侧。