当前,我可以使用“查找路径”功能并键入工件的名称(或在pom.xml中搜索)以检查项目是否具有该依赖性,但这不适用于传递性依赖性。 / p>
我可以在IntelliJ中(或在命令行上)生成依赖关系树,但这需要我在整个树/列表中查找工件,而不是那么方便。
是否有一种简便(更流畅)的检查方法?
答案 0 :(得分:5)
是的,只需在项目窗格(左侧)中查看。
在项目结构下,您将看到External Libraries
-只需展开此树节点,您将看到那里的所有Maven专有性。它们以Maven:
开头-只需键入即可搜索:)
要进行适当的分析(显示可传递部门的位置),可以从命令行运行mvn dependency:tree
。
答案 1 :(得分:1)
替代@vikingsteve的答案,在右侧窗格中的“ Maven项目”选项卡下,单击“打开任何模块的条目”,然后在依赖项下查找。
这给出了更细粒度的依赖关系树,尤其是在多模块项目中,向您显示了从哪里提取了哪些依赖关系(包括传递性依赖关系),并且还排除了每个模块的依赖关系。
(仅举一个例子)让我看到hibernate-core 4.3.11.Final对dom4j 1.6.1创建了传递依赖,而hibernate-entitymanager 4.3.11中对它的传递依赖被忽略。因此。
有时候,这可以帮助您确定特定的传递性依赖关系的特定版本来自何处,因为您已经在显式添加同一库的另一个版本。
答案 2 :(得分:0)
您将看到所需的依赖项是否存在于该模块/项目中,以及它来自何处?
答案 3 :(得分:0)
另外两个选项:
显示依赖关系图(第二次单击Maven Projects菜单,显示您的模块->显示依赖关系)。在此视图下,您可以按ctrl -f。首先显示基本包
使用“ Maven帮助器”插件。安装后,打开您的pom文件,您现在会发现一个“ Dependency Analyzer”选项卡,该选项卡非常类似于Eclipse中的依赖项树函数