如何在IntelliJ中查看Maven依赖层次结构

145
我可以在Eclipse中看到依赖关系层次结构。 在IntelliJ中我该如何做呢?

1
在命令行中输入 "mvn dependency:tree"。 - Ed Randall
这能做到一定程度吗? - Adelin
8个回答

143

我也喜欢 Maven Helper Plugin

它可以让你以树形结构查看依赖关系、解决冲突、并对它们进行搜索。它非常类似于Eclipse的工具。

请注意,在POM编辑器面板底部会出现 TextDependency Analyzer 选项卡。点击分析器选项卡,就可以看到如下截图所示的结果。

Maven Helper Plugin窗口的屏幕截图


6
不确定这是否是新功能,但这个功能似乎可以在内置的Maven工具窗口中使用:https://imgur.com/NmvWcbJ - flow2k
2
该插件允许您查看不同版本的来源,这在解决“依赖地狱”和冲突传递版本时非常有用。我也非常喜欢可搜索的树形视图。 - Ondrej Burkert
3
如果你在处理 "jar hell" 时,这是最好的插件 :)树形视图和排除传递依赖的功能真是太棒了。 - Senthilkumar Gopal
3
这个插件也能在Gradle中使用吗?如果可以的话,那就太棒了 :) - George Fandango
2
这是唯一适用于具有许多依赖项的大型项目的答案,应该被接受。这有助于快速轻松地发现冲突,其他答案无法做到! - Eric

97
你可以尝试: 菜单->查看->工具窗口->Maven项目
然后你可以看到一个新的视图打开了。
打开你的依赖树,你就可以看到所有的依赖层次结构。 enter image description here

2
但是我们无法过滤和搜索特定的依赖项。这时候插件 "https://plugins.jetbrains.com/idea_ce/plugin/7179-maven-helper" 就派上用场了! - Mehul Parmar

65

官方文档:查看Maven依赖关系图

打开pom.xml文件,右键单击编辑器中的任意位置,选择“图表>显示依赖项”。 它会打开一个依赖树,类似于我附加的那些。

重点是,这个上下文菜单只出现在打开的pom.xml文件上(至少我无法从其他任何地方打开它),如果你只是单击项目树中的文件,它将不会出现。

请注意:您需要启用UML支持Maven集成扩展才能使用此功能。

输入图片说明


11
好的,我会尽力进行翻译。需要翻译的内容为:“BTW, this is provided by the UML Support plug-in。” - Dima Korobskiy
您可以使用热键或单击(隐藏得很好的)图标来打开图表;请参见下面的答案 / 敬礼 - Jaroslav Záruba
3
我认为不行,因为这取决于仅包含在Ultimate版本中的UML插件。 - Ivaylo D. Ivanov
1
我的图表上有一堆空白框。如果我将鼠标悬停在它们上面,我可以得到工件 ID,但对于大型项目来说这是无用的。 - Kramer
2
这个有什么优势,相比于这个答案中提到的Maven Helper插件 https://dev59.com/cFwY5IYBdhLWcg3wl4ob#41546730? - MasterJoe
显示剩余3条评论

18

使用快捷键吧! Ctrl + Alt + Shift + U

或选择View -> Tool Windows -> Maven Projects

...在这里你可以:

A) 展开Dependencies子树,

或者

B) 选择项目 ("spring-boot" 是我的例子), 一个新的图标就会出现

输入图像描述


4

从主菜单中选择模块或目录,然后进行分析。

在此输入图片描述


2
菜单 -> 查看 -> 工具窗口 -> Maven项目不实用,必须逐个折叠。我更喜欢Basil Bourque在此帖子中提到的插件。

2

我喜欢这个插件Maven Helper,但由于某些原因,它会导致我的IntelliJ崩溃:

IntelliJ IDEA 2020.2.1 (Community Edition)
Build #IC-202.6948.69, built on August 25, 2020

我尝试在IntelliJ中从市场更新,但由于某种原因它没有帮助。

我通过从插件网站Maven Helper安装并点击“安装到IDE”解决了这个问题。


如果您想关注更新或提出问题,请访问插件GitHub存储库 - atkuzmanov

1

如@Ondrej Burkert所提到的,Maven Helper插件可以选择pom.xml文件,如果编辑器已经打开,底部有两个标签。第一个是“Text”,第二个是“Dependency Analyser”。在“Dependency Analyser”标签中,您将拥有所有依赖项的树状结构,就像在eclipse中一样。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接