首页 » Maven实战 » Maven实战全文在线阅读

《Maven实战》16.6.2 分析依赖

关灯直达底部

5.9.3节介绍了如何使用maven-dependency-plugin分析并优化项目的依赖,Maven用户可以在命令行以树状的形式查看项目的依赖以及它们之间的关系。有了m2eclipse,这种可视化的分析将更为清晰和直观。

开启POM编辑器中的依赖层次项(Dependency Hierarchy),就能看到图16-22所示的依赖层次图。

图16-22中左边列表显示了项目的树形依赖层次,右边列表则是所有Maven最终解析得到的依赖。默认情况下,两个列表都会显示依赖的artifact、version以及scope。要查看依赖的groupId,可以单击列表上方右起第二个按钮——Show GroupId。

有了这样一个依赖层次图,用户就能很清晰地看到所有依赖是如何进入到项目中来的,可能这是个直接依赖,那么在左边的它就是个顶层节点;可能这是个传递性依赖,那么这个树形层次就能够告诉用户传递路径是什么。如果这个依赖是同一Maven项目的另外一个模块,那么它的图标将与其他依赖不同,而是一个文件夹的样子。如果用户单击右边已解析依赖列表中的任意一项,左边就会自动更新为该依赖的传递路径,如图16-23所示。

图16-22 依赖层次列表

图16-23 查看已解析依赖的传递路径

从图16-23中我们知道,activation这样一个依赖是通过account-email依赖的mail依赖引入的。

此外,从图16-23中还能看到,在任何一个依赖上右击,可以执行打开依赖的POM和排除依赖等操作。尤其是排除依赖这一操作,比编辑POM更加直观和方便。

除了依赖层次列表,POM编辑器还提供了一个更为图形化、更为直观的依赖图,如图16-24所示。

在这个依赖图中,每个依赖都是一个圆角矩形,用户可以随意拖动每个依赖,被选择依赖与其他依赖的连接线会被标亮。用户也可以在依赖上右击,选择显示groupId,以及执行打开POM和排除依赖等操作。

图16-24 依赖图