模块依赖
最后修改时间:2023年9月7日模块可以依赖于 SDK、JAR 文件(库)或形成项目中的其他模块。当您编译或运行代码时,模块依赖项列表用于编译器或 JVM 的类路径。
笔记
添加新的依赖项
转到文件|项目结构 并单击模块|依赖关系。CtrlAltShift0S
单击并选择依赖类型: AltInsert
JAR或目录:从计算机上的文件中选择Java文档或目录。
库:选择一个现有库或创建一个新库,然后将其添加到依赖项列表中。
模块依赖:选择项目中的另一个模块。
删除依赖项
在删除依赖项之前,请确保项目中的其他模块未使用该依赖项。因此,请选择需要的依赖项并按。您还可以使用上下文菜单的“找到最合适”选项。AltF7
选择要删除的依赖项,然后单击或按。AltDelete
分析依赖关系
如果您想检查项目中是否仍然存在依赖项,并找到其目的用途,您可以运行依赖项分析:
转到文件|项目结构 并单击模块|依赖关系。CtrlAltShift0S
右键单击所需的依赖项并选择“分析此依赖项”。
您可以在不关闭对话框的情况下进行下一个分析多个依赖关系。每个分析的结果将在依赖查看器工具窗口的单独选项卡中打开。分析完所有需要的依赖关系后,您可以关闭“项目结构”对话框并查看结果。
如果 IntelliJ IDEA 在项目中发现没有依赖项使用,系统会提示您删除此依赖项。
配置依赖范围
指定依赖范围
指定依赖关系范围允许您控制应在构建的哪个步骤使用依赖。当编译源、编译测试源、运行编译源和运行测试时,类路径可能会有所不同。
转到文件|项目结构 并单击模块|依赖关系。CtrlAltShift0S
从“范围”列的列表中选择需要的范围:
编译:构建、测试和运行项目所需(默认范围)。
测试:编译和运行单元测试所需。
运行时:包含在源和测试源的类路径中,但仅在运行阶段。
提供:用于构建和测试项目。
导出选项允许控制依赖于该模块的编译类路径:标记的项目将包含在依赖模块的编译类路径中。
IntelliJ IDEA 处理测试源依赖关系的方式与其他构建工具(例如 Gradle 和 Maven)不同。
如果您的模块(例如,模块 A)依赖于另一个模块(模块 B),IntelliJ IDEA 会假设 A 中的测试源不仅依赖于 B 中的源,还依赖于它自己的测试源。因此,B 的测试源源测试也包含在相应的类路径中。
下面总结了可能的依赖范围的类路径信息。
范围 | 编译时的来源 | 运行时的来源 | 编译时进行测试 | 运行时测试 |
的 | + | + | + | + |
测试 | - | - | + | + |
运行 | - | + | - | + |
假设 | + | - | + | + |
对依赖关系进行排序
依赖项的顺序非常重要,因为 IntelliJ IDEA 将按照列表中指定的顺序处理它们。
在编译期间,依赖关系的顺序定义了编译器 (javac) 查找类以解析相应引用的顺序。在运行时,此列表定义了 JVM 搜索类的顺序。
要对依赖项进行排序,请选择“文件”|“项目结构 并单击模块|依赖关系”CtrlAltShift0S
您可以按依赖项的名称和范围对依赖项进行排序。您还可以使用和在列表中上下移动项目。
感谢您的反馈意见!