【IDEA教程】详解 IDEA Maven 依赖项

必需的插件:Maven、Maven Extension和Diagrams以使用图表。
IntelliJ IDEA 允许您管理项目中的Maven依赖项。您可以添加、导入 Maven 依赖项,并在图中查看它们。
添加 Maven 依赖项
IntelliJ IDEA 允许您向项目添加 Maven 依赖项。我们建议您在POM中指定依赖项。您在 IntelliJ IDEA模块设置中手动设置的依赖项将在下一次 Maven 项目重新加载时被丢弃。
- 在编辑器中打开你的POM 。
- 按Alt+Insert打开生成上下文菜单。
- 从上下文菜单中,选择添加依赖项。
- 在依赖项工具窗口的搜索字段中,开始输入依赖项的名称。在结果列表中选择您需要的结果,然后单击添加。
IntelliJ IDEA 将依赖项添加到您的pom.xml中。
IntelliJ IDEA 还将依赖项添加到Maven工具窗口中的Dependencies节点以及Project工具窗口中的External Libraries。
如果添加的依赖项有自己的传递依赖项,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>
<annotationProcessorPath>
<groupId>org.sample</groupId>
<artifactId>sample-annotation-processor</artifactId>
<version>1.2.3</version>
</annotationProcessorPath>
</annotationProcessorPaths>
<configuration>
</plugin>
</plugins>
</build>
- 重新导入您的项目。IntelliJ IDEA 创建注释处理器配置文件,启用注释处理并将适当的路径添加到位于Settings / Preferences |中的Annotation Processor设置。构建、执行、部署 | 编译器。
集中依赖信息
在多模块 Maven 项目中,父 POM 中的依赖将被所有子项目继承。您可以使用它dependencyManagement
来整合和集中管理依赖项的版本。
- 在编辑器中打开你的POM 。
- 按Alt+Insert打开生成上下文菜单。
- 从上下文菜单中,选择Managed Dependency
dependencyManagement
选项,该选项将显示在多模块项目中父 POM 部分中定义的依赖项列表。IntelliJ IDEA 还显示了BOM 文件中的依赖项列表。
- 选择所需的依赖项并单击OK。依赖项被添加到 POM。您不需要指定依赖项的版本,它将从
DependencyManagement
.
但是,如果要覆盖定义的版本,则需要version
在将托管依赖项添加到 POM 时包含。
为 Maven 依赖项添加范围
您可以使用 POM 为您的依赖项添加范围。在这种情况下,IntelliJ IDEA 将在指定阶段执行依赖项。
- 在您的 POM 中,在依赖项描述中添加
scope
并使用代码完成添加范围的名称。
- 导入您的更改。范围的名称显示在Maven工具窗口中。在Project Structure对话框的Modules页面上,您可以看到还显示了依赖项的范围。
请注意,在Project Structure对话框中更改依赖项的范围不会影响pom.xml文件。
您还可以在定义依赖项时使用 Maven 范围系统添加自定义jar文件作为依赖项。但是,请注意,此依赖项仅在您的计算机上可用,并且您只能将其用于本地部署。
使用 Maven 传递依赖项
您可以查看通过添加或导入的 Maven 依赖项引入的传递依赖项。您可以检查它们的版本、更改它们或完全排除这些依赖项。
Maven工具窗口显示直接依赖及其所有被拉入的传递依赖。
查看传递依赖
- 在项目的 POM 中,按下Ctrl并将鼠标悬停在依赖项上。
- 单击依赖项以打开依赖项的 POM。
- 在依赖项 POM 中,查看活动依赖项、其传递依赖项及其版本。
您可以检查从中提取依赖项的来源。
排除传递依赖
如果需要,您可以排除传递依赖。
- 打开依赖项 POM 并找到要排除的传递依赖项。复制
groupId
和artifactId
. - 在您的项目 POM 中,在您的活动依赖项下,输入
exclusions
并使用代码完成粘贴您要排除的依赖项的复制信息。
您可以使用Maven 依赖关系图中上下文菜单中的Exclude命令快速从 POM 和相应的工具窗口中排除指定的依赖关系。
该依赖项也从项目和Maven工具窗口中排除。
导入 Maven 依赖项
您可以将依赖项导入 Maven 项目。当 IntelliJ IDEA 导入添加的依赖项时,它会解析依赖项并更新您的项目。
- 在pom.xml文件中,添加您需要的依赖项。当您更改pom.xml时,IntelliJ IDEA 会显示一条通知,建议加载更改。在编辑器中单击加载更改以导入依赖项并更新您的项目。
- 在Maven工具窗口中,按
。在这种情况下,您手动触发所有项目及其依赖项的重新导入过程。
以图表形式查看 Maven 依赖项最终的
确保已启用Diagrams和Maven Extension捆绑插件。
IntelliJ IDEA 允许您以图表格式查看和使用 Maven 依赖项。
生成图表
- 在Maven工具窗口的工具栏上,单击
或从上下文菜单中选择适当的选项。
在 POM 中,右键单击编辑器中的任意位置以打开上下文菜单并选择Maven | 显示依赖项。或者,按Ctrl+Alt+Shift+U或Ctrl+Alt+U。
- 在图表窗口中,IntelliJ IDEA 显示子项目及其所有依赖项,包括传递的依赖项。
查看图表结构
- 生成图表。
- 单击左侧工具栏中的结构。IntelliJ IDEA 打开Structure工具窗口,该窗口显示图表的地图,其中包含所选块及其邻居的小预览。
使用上下文菜单放大和缩小、移动画布、更改布局以及将部分图表导出到图像中。
您可以在图表窗口中执行不同的操作。
更改可见性级别
您可以更改可见性级别,例如,查看具有特定范围(编译、测试等)的依赖项。
- 在图表窗口中,选择子项目并单击
- 从列表中,选择您要查看的依赖范围。IntelliJ IDEA 仅显示指定的依赖范围。
导航到 POM
您可以从图表窗口轻松导航到POM 。
- 选择所需的节点,然后按F4,或在其上下文菜单中选择Jump to Source 。相应的文件在编辑器中打开。
您可以通过单击图表窗口中的图标来检查冲突和重复项。
检查冲突和重复
- 在图表窗口中,单击
图标。
红色箭头指向包含重复或错误的依赖项。IntelliJ IDEA 还显示依赖项的版本以帮助您解决冲突。双击依赖项以打开其 POM。
显示从选择到根的路径
您可以选择依赖项并查看它们是如何包含到项目中的。
- 在图表窗口中,选择要查看其与项目的连接的依赖项。如果要一次选择多个依赖项,请按住Shift并进行选择。
- 单击
。
显示所选节点的邻居
您可以选择依赖项并查看哪些其他依赖项连接到所选节点。如果您有一个大图表并且只想关注其中的一部分,这可能会有所帮助。
- 在图表窗口中,选择您需要的依赖项。如果要一次选择多个依赖项,请按住Shift并进行选择。
- 单击
。
排除依赖项
您可以使用图表从项目的 POM 中排除依赖项。
- 在图表窗口中选择一个依赖项。
- 从上下文菜单中,选择排除。
- 从列表中选择要添加排除定义的模块(如果有)。选定的依赖项将从图中删除,并且该
exclusion
部分将添加到模块的 POM 中的相应依赖项中。
Ctrl+Z您可以在导入更改之前按 撤消此操作。
依赖分析器
Maven 依赖分析器让您可以快速查看和分析项目和子项目中已解决的依赖项、未解决的依赖项、存在冲突的依赖项以及传递依赖项。
分析依赖关系
- 在Maven工具窗口的工具栏上,单击
。
或者,在 Maven 工具窗口中,右键单击所需的依赖项,然后从上下文菜单中选择分析依赖项。
- 在Dependency Analyzer窗口中,您可以缩小分析范围、仅检查冲突的依赖项或检查用法。
如果您想在 中查看所需的依赖pom.xml
项,请右键单击该依赖项并选择Go to 'pom.xml'。
如果找到重复的依赖项,它将显示为灰色。
依赖分析工具窗口参考
物品 | 描述 |
---|---|
范围 | 您可以看到项目中使用每个依赖项的范围。要根据范围缩小依赖项列表,请从范围列表中选择适当的选项。![]() |
仅显示冲突 | 单击![]() |
显示组 ID | 单击并选择Show GroupId以在依赖项列表中显示GroupId。 |
显示为树 | 切换 |
展开/折叠 | 使用 |