Maven 依赖项
IntelliJ IDEA 允许您管理项目中的 Maven 依赖。 您可以添加、导入 Maven 依赖项,在图中查看它们,并且还可以分析它们。
添加 Maven 依赖项
IntelliJ IDEA 使您能够将 Maven 依赖项添加到您的项目。 我们建议您在您的 POM中指定依赖关系。 您在 IntelliJ IDEA 模块设置 中手动设置的依赖关系将在下次 Maven 项目重载时被舍弃。
在编辑器中打开您的 POM。
按 Alt+Insert 打开 生成 上下文菜单。
从上下文菜单中选择 依赖。
在 Maven Artifact 搜索 工具窗口中的搜索字段中,开始输入您的依赖项的名称。 在结果列表中选择您需要的并点击 添加。

IntelliJ IDEA 将依赖项添加到您的 pom.xml 。

IntelliJ IDEA 还会在 依赖项 节点的 Maven 工具窗口以及 外部库 的 项目 工具窗口中添加依赖。
如果添加的依赖项有其自己的传递依赖项,IntelliJ IDEA 会在两个工具窗口中显示它们。

启用注解处理器
请打开您的 POM文件。
请指定
annotationProcessors和annotationProcessorPaths选项。例如,检查以下代码:
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.5.1</version> <configuration> <annotationProcessorPaths> <path> <groupId>org.sample</groupId> <artifactId>sample-annotation-processor</artifactId> <version>1.2.3</version> </path> </annotationProcessorPaths> </configuration> </plugin> </plugins> </build>如需更多信息,请参阅 Maven。
重新导入您的项目。 IntelliJ IDEA 创建一个注解处理器配置文件,启用注解处理,并将适当的路径添加到 Annotation Processor 设置中,位置在 。

集中依赖信息
在多模块 Maven 项目中,父 POM 中的依赖项将被所有子项目继承。 您可以使用 dependencyManagement 来整合并 集中管理依赖项的版本。
在编辑器中打开您的 POM。
按 Alt+Insert 打开 生成 上下文菜单。
从上下文菜单中选择 托管依赖 选项,它将显示在多模块项目的父 POM 的
dependencyManagement部分中定义的依赖项列表。 IntelliJ IDEA 还显示了 BOM files 中的依赖项列表。
选择所需的依赖项并点击 OK。 依赖已添加到 POM。 您无需在依赖项上指定版本,它将从
DependencyManagement中获取。
但是,如果您希望覆盖定义的版本,您需要包含
version,当您添加托管依赖到 POM。
为 Maven 依赖项添加作用域
您可以使用 POM 为您的依赖项添加 scope。 在这种情况下,IntelliJ IDEA 将在指定阶段执行该依赖项。
在 POM 中,在依赖项描述中添加
范围,并使用代码补全添加作用域的名称。<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13.2</version> <scope>test</scope> </dependency>导入您的更改。 范围的名称显示在 Maven 工具窗口中。 在 项目结构 对话框的 模块 页面上,您可以看到依赖范围也被显示出来。 请注意,

在 项目结构 对话框中更改依赖关系的范围不会影响 pom.xml 文件。
您还可以在定义依赖项时,通过 Maven 范围 system添加一个自定义 jar 文件作为依赖项。 但是,请注意,此依赖项仅在您的机器上可用,您只能将其用于本地部署。
处理 Maven 传递依赖
您可以查看 传递依赖项 ,这些依赖项是随着新增或导入的 Maven 依赖项一起拉取的。 您可以检查它们的版本、更改它们或完全排除这些依赖项。
Maven 工具窗口显示了直接依赖项及其所有传递依赖项。
查看传递依赖关系
在您的项目 POM 中,按 Ctrl 并将鼠标悬停在依赖项上。
点击依赖项以打开该依赖项的 POM。

在依赖 POM 中,查看活动依赖项、其传递依赖项及其版本。

您可以查看依赖项的来源。

排除传递依赖
如果您想,您可以排除一个传递依赖项。
打开依赖项 POM,找到您想要排除的传递依赖项。 复制
groupId和artifactId。在您的项目 POM 中,在您当前的依赖项下方,输入
exclusions并使用代码补全粘贴您想要排除的依赖项信息。<dependencyManagement> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13.2</version> <scope>test</scope> <exclusions> <exclusion> <groupId>org.hamcrest</groupId> <artifactId>hamcrest-core</artifactId> </exclusion> </exclusions> </dependency> </dependencies> </dependencyManagement>该依赖项也从 项目 和 Maven 工具窗口中排除。
导入 Maven 依赖项
您可以将依赖项导入到您的 Maven 项目中。 当 IntelliJ IDEA 导入新增的依赖项时,它会解析该依赖项并更新您的项目。
在 pom.xml 文件中,添加您需要的依赖项。 当您更改 pom.xml 时,IntelliJ IDEA 会显示通知建议加载更改。 点击
在编辑器中导入依赖并更新您的项目。
在 Maven工具窗口中,按
。 在这种情况下,您需要手动触发所有项目及其依赖关系的 re-importing process。
以图表形式查看 Maven 依赖关系
IntelliJ IDEA 允许您以图表格式查看和处理 Maven 依赖项。
生成图表
在 Maven 工具窗口,在工具栏上,点击
或从上下文菜单中选择适当的选项。

在图表窗口中,IntelliJ IDEA 显示子项目及其所有依赖项,包括传递依赖项。

您可以在 图表窗口 中执行不同的操作。
更改可见性级别
您可以更改可见性级别,例如,查看具有特定范围(编译、测试等)的依赖项。
在图表窗口中,选择子项目并点击
。从列表中选择您要查看的依赖范围。 IntelliJ IDEA 仅显示指定的依赖范围。

导航至 POM
您可以从图表窗口导航到 POM。
选择所需的节点并按 F4 ,或在其上下文菜单中选择 。 相应的文件在编辑器中打开。
您可以通过点击 图表窗口中的 图标 来检查冲突和重复。
检查冲突和重复
在图表窗口中,点击
图标。

红色箭头指向包含重复项或错误的依赖项。 IntelliJ IDEA 还显示依赖项的版本,以帮助您解决冲突。 双击依赖项以打开其 POM。
显示从选择到根的路径
您可以选择依赖项,并查看它们如何包含在项目中。
在图表窗口中,选择您想要查看与项目连接的依赖关系。 如果您要一次选择多个依赖项,请按住 Shift 并进行选择。
点击
。

显示选中节点的邻居
您可以选择依赖项并查看与所选节点连接的其他依赖项。 如果您有一个大型图表并希望专注于其中的一部分,这可能会很有帮助。
在图表窗口中,选择您需要的依赖项。 如果您要一次选择多个依赖项,请按住 Shift 并进行选择。
点击
。

依赖分析器
Maven 依赖分析器可让您快速查看和分析已解析的依赖项、未解析的依赖项、有冲突的依赖项以及项目和子项目中的传递依赖项。
分析依赖性
在 Maven 工具窗口的工具栏中,点击
。
或者,在 Maven 工具窗口中,右键点击所需的依赖项,然后从上下文菜单中选择 分析依赖关系。 您也可以右键点击 项目 视图中的模块并使用相同的操作。

在 依赖关系分析器 窗口中,您可以缩小分析范围,只检查冲突依赖项或检查用法。
如果您想在
pom.xml文件中查看所需的依赖项,请右键点击该依赖项并选择 转到 Maven 依赖。 如果您点击 打开 Maven 配置 特定依赖项,IntelliJ IDEA 将打开该依赖项的 POM 文件。如果发现重复依赖项,它将被灰显。

有关 依赖关系分析器 窗口中可用选项和图标的更多信息,请参阅 参考部分。

