IntelliJ IDEA 2025.1 Help

依赖项结构矩阵

处理有众多依赖的复杂项目时,很难理解应该在哪里查找问题。 您可能会遇到复杂的关系或循环依赖,这可能会严重影响应用程序的性能和行为。 这就是 DSM 发挥作用的地方。

DSM 代表 依赖项结构矩阵——一种帮助您可视化项目各部分(模块、类等)之间依赖关系并突出信息流的方法。

DSM 分析可以用来查看变更将如何影响项目。 例如,如果需要更改某个类,您可以识别所有的依赖关系,并查看此更改如何在整个项目中传播。

构建依赖矩阵

  1. 在主菜单中,前往 代码 | 分析代码 | 依赖矩阵

    或者,右键点击 项目 工具窗口中的某项,然后选择 分析依赖矩阵

  2. 在打开的对话框中,选择您想要分析的范围,然后点击 分析

如果您的项目类文件已过时,分析可能会导致数据不完整或不正确。 为了避免这种情况,IntelliJ IDEA 提示您在继续进行 DSM 分析之前编译项目。

DSM 工具窗口将打开,使您能够检查依赖项。 通过点击工具窗口中的单元格,您可以了解更多详细信息。

DSM 工具窗口

DSM 工具窗口以一种特殊的方式排序依赖关系:使用最频繁的类会被移动到底部。

在矩阵上,所有依赖关系总是从绿色到黄色流动:当您选择一行时,绿色标注显示依赖组件,而黄色标注显示所选组件所依赖的组件。 相互依赖关系以红色显示。 各种阴影对应于依赖项的数量。 依赖项越多,对应的单元格就越深。

探索依赖项

您可以限制视图,仅查看选定的依赖项。 与 限制范围 选项相反,仅保留生成选定依赖项的类。

  • 在主菜单中,前往 视图 | 工具窗口 | DSM ,右键点击所需的依赖项并选择 探索两者之间的依赖关系

    那些生成这些依赖项的类将在 DSM 工具窗口的新选项卡中打开。

    请注意,DSM 工具窗口仅在 您 构建矩阵 后可用。

查找依赖项的用法

您可以打开选定的 dependencies 以进行进一步的源代码分析。

  • 在主菜单中,前往 视图 | 工具窗口 | DSM ,右键点击所需的依赖项并选择 查找依赖项的用法

    请注意,DSM 工具窗口仅在 您 构建矩阵 后可用。

限制 DSM 范围

您可以将 DSM 的范围限制为选定的行。 只有这些会保留在新矩阵中。

  • 请选择您要保留的行,然后从上下文菜单中选择 将作用域限制为选区

    有限范围将在 DSM 工具窗口的新选项卡中打开。

DSM 工具窗口

视图 | 工具窗口 | DSM

请注意,DSM 工具窗口仅在 您 构建矩阵 后可用。

在此,您可以看到典型的矩阵视图。

矩阵视图

行标题代表程序结构。 现在所有内容都折叠了,仅显示模块。 展开后,标头呈树状结构,使您能够展开模块并深入探讨程序包。 * — 将节点组类放入包内。 列标题与相应的行标题相同。 因此,为了节省空间,它们未被显示。 相反,不同的视觉辅助工具用于行标题。

如果选择一行,矩阵将如下所示。

矩阵视图中选择一行时

您可以学习以下内容:

  1. 选定的行和对应的列会突出显示,以便可视化行依赖关系。

  2. 单元格中的省略号表示 maven-core 模块对 maven-project 模块有许多(多于 99 个)依赖。

  3. 该列显示所选行的依赖关系

  4. 该行显示了与选定行的依赖关系

  5. 这意味着 maven-project 模块对 maven-settings 模块有 16 个依赖。

  6. 各种阴影对应于依赖项的数量。

依赖项
  • 颜色注释帮助您一目了然地了解行依赖性。

  • maven-core 依赖于 maven-project

  • maven-project 依赖于 maven-profile

  • 对角线上的短划线对应的是自依赖性,未显示。

您可以选择任意单元格以探索其中指示的依赖关系。

单元依赖关系

单元格#1已被选中。 这些颜色标注表示 maven-project 有 16 个依赖项 maven-settings。 对称单元(单元 #2)显示了相反方向的依赖性——在这种情况下为零。

一个简单的记忆规则是——所有依赖项总是从绿色 流向 黄色。

与按字母顺序排序行不同,DSM 视图以一种特殊的方式排序依赖关系:使用最多的类被移动到底部。 在结构良好的项目中,这将在矩阵的左下半部分创建一个三角形。

周期

周期

相互依赖关系以红色显示。 这意味着插件和可用性包都是相互依赖的。

最后修改日期: 2025年 4月 24日