IntelliJ IDEA 2025.2 Help

Gradle 项目

IntelliJ IDEA 允许您管理 Gradle 项目。 您可以 链接 、忽略项目、 使用配置文件工作 ,并同步 Gradle 和 IntelliJ IDEA 项目的更改。 您还可以配置 Gradle composite build、Gradle source sets、构建和运行操作。

  1. Gradle 工具窗口中,右键点击一个已关联的项目。

  2. 从上下文菜单中选择 打开 Gradle 配置 F4

    IntelliJ IDEA 导航到相应的 Gradle 配置文件,相关的 build.gradle 文件将在编辑器中打开。

IntelliJ IDEA 支持在多模块 Gradle 项目的父构建脚本中导航到子项目。

  1. 打开父项目的 build.gradle

  2. 请使用 Ctrl+Click 快捷方式导航到子项目。

    在构建脚本中导航

    您还可以使用 Alt+F7 查看子项目的用法,并在 查找 工具窗口中查看结果。

    “查找”工具窗口

取消关联的 Gradle 项目

当您取消链接 Gradle 项目时,IntelliJ IDEA 会移除所有相关模块和内容根目录,将 Gradle 项目从 Gradle 工具窗口中移除,并停止其同步。 如果您需要从当前 IntelliJ IDEA 项目中完全删除先前链接的 Gradle 项目,这可能会有所帮助。

  1. Gradle 工具窗口中,右键点击一个已关联的项目。

  2. 从上下文菜单中选择 解除 Gradle 项目链接Delete)。 或者,您可以选择链接的项目并点击工具窗口工具栏上的 删除图标

  3. 导入 Gradle 项目 弹窗中,如果您不想从 IntelliJ IDEA 项目 工具窗口中删除项目,请清除模块前的复选框。

  4. 点击 OK

    如果您需要链接回项目,在 项目 工具窗口中,右键点击项目的 build.gradle 文件或 build.gradle.kts (如果它是一个 Kotlin 项目),然后选择 导入 Gradle 项目

忽略 Gradle 项目

您可以使用 忽略 Gradle 项目 选项停用 Gradle 项目。 在这种情况下,IntelliJ IDEA 会在 Gradle 工具窗口中保留被忽略的 Gradle 项目和子项目,但会停止将它们(模块、内容根、任务等)导入到项目中。 但是,IntelliJ IDEA 会将被忽略的项目与当前项目同步。 如果您需要跳过诸如 buildSrc 之类的无关子项目,这可能会有所帮助。

  1. Gradle 工具窗口中,右键点击您想要忽略的项目。

  2. 从上下文菜单中选择 忽略 Gradle 项目

  3. 在打开的窗口中,选择您想要停用的项目和模块,然后点击 OK

如果您想激活您的 Gradle 项目或模块,请从上下文菜单中选择 取消忽略 Gradle 项目

孤立模块

孤立模块是在以下情况下导入过程中被删除的 IDE 模块:

  • “当您手动删除 build.gradle 文件中的模块,并重新导入项目时。”

  • 当您在 Gradle 工具窗口中的模块上使用 Ignore Project 操作,然后重新导入项目时。

在所有这些情况下,IntelliJ IDEA 会提示您恢复 已删除的模块。

孤立模块通知

您可以在 孤立模块 对话框中选择您想要恢复的内容。

孤立模块对话框

通常,您不需要恢复任何模块,因为这些仅是包含 IDE 模块设置的 .iml 文件。 仅当您在其中指定了一些用户定义的设置时,您可能才需要恢复它们。

同步已链接的 Gradle 项目

当您 打开 Gradle 项目时,会自动进行同步。 此外,当 IntelliJ IDEA 检测到对构建脚本的任何外部更改(例如 VCS 更新或在 IDE 外部进行的一些编辑)时,相关项目将自动重新加载。

如果需要,您可以手动触发项目的同步。

  1. Gradle 工具窗口中,右键点击一个已关联的项目。

  2. 从上下文菜单中选择 同步 Gradle 项目 “同步”图标

    在调用此操作时,IntelliJ IDEA 将解析 Gradle 工具窗口中的项目结构。

    IntelliJ IDEA 无法仅重新加载项目的一部分,它会重新加载整个项目,包括模块和依赖项。

    如果您通过 项目结构 对话框(Ctrl+Alt+Shift+S )配置依赖项,该依赖项将仅出现在IntelliJ IDEA 项目 工具窗口中,而不会出现在 Gradle 工具窗口中。 请注意,下一次重新导入项目时,IntelliJ IDEA 将移除添加的依赖项,因为 IntelliJ IDEA 会将 Gradle 配置视为唯一的可信来源。

  3. 点击 “构建”图标 状态栏以在 Build工具窗口中查看同步结果。

配置自动重载

  1. 设置 对话框(Ctrl+Alt+S )中,转到 生成、执行、部署 | 构建工具

    或者,在 Gradle 工具窗口中,点击 构建工具设置 并选择 自动同步设置 选项。

    Gradle 工具窗口
  2. 构建工具 设置中,指定以下选项:

    构建工具设置
    • 在构建脚本更改后同步项目 :此选项为默认选择。 如果您想禁用自动同步并手动控制同步过程,请取消选中此复选框。

    • 任何更改 :如果您希望在对 build.gradle 或外部更改进行任何更改后自动同步项目,请选择此选项。

      每次您在编辑器中手动更改 Gradle 构建脚本时,您需要同步这些更改。 IntelliJ IDEA 在编辑器右侧显示一个通知图标,提示对项目进行 同步 Gradle 更改 (Ctrl+Shift+O)。

      使用 任何更改 选项,IntelliJ IDEA 会自动同步所有更改。

    • 外部更改 :选择此选项时,IntelliJ IDEA 仅在 VCS 更改和在 IDE 外部对构建文件的更改后自动同步项目。

配置 Gradle 组合构建

在开始配置复合构建之前,请确保您的项目已配置 Gradle 4.5 或更高版本。

您可以使用 settings.gradle 文件来包含 Gradle 构建到您的 Gradle 复合构建 中。

  1. 在编辑器中打开 settings.gradle 文件。

  2. 使用 includeBuild 命令,指定您要添加为项目依赖项的构建位置。

您还可以使用 Gradle 工具窗口来配置复合构建。

  1. 打开 Gradle 项目。

  2. 链接 您想用于组合构建的其他 Gradle 项目。

  3. Gradle 工具窗口中,右键点击您的主项目,从上下文菜单中选择 复合构建配置

  4. Gradle 项目构建组合 对话框中,选择您希望包含在 Gradle composite build 中的项目。

  5. 重新导入您的主要 Gradle 项目。

    IntelliJ IDEA 会找到包含的 Gradle 项目,并将它们视为 IntelliJ IDEA 模块。

使用 Gradle 源集

IntelliJ IDEA 允许您在解析 Gradle 项目时使用 Gradle source sets。 源集合在 一个 IntelliJ IDEA 项目中被视为一个模块。 您可以声明一个自定义 source set,然后 IntelliJ IDEA 会将其作为模块添加到项目中。

当您创建一个 Gradle 项目时,IntelliJ IDEA 会自动创建一个 main 源集 目录,其中包含两个来源集 - main test 。 IntelliJ IDEA 还会在 依赖项 节点中,在 Gradle 工具窗口中显示编译和运行时配置。

Gradle 工具窗口:依赖

添加自定义 source set

  1. 在编辑器中打开 gradle.build 文件。

  2. 声明自定义源集(在我们的示例中,是 api)。

    sourceSets { api } dependencies { compile sourceSets.api.output }

    (此源码集包含没有实现的接口。) 接口的实现位于默认 main 源集合中。

  3. 打开 Gradle 工具窗口,查看IntelliJ IDEA添加的 api 编译和运行时配置。

    Gradle 工具窗口:api 源集

    测试源集包含适当的依赖项。 请注意,默认 main 源集对 api 源集的输出具有编译依赖。

  4. 在主菜单中,转到 文件 | 项目结构 Ctrl+Alt+Shift+S 以打开项目结构。 请注意,所有源集合都被表示为单独的模块,它们被分组为一个模块。 如果您点击测试模块并选择 依赖项 标签,您将看到源集的依赖项列表。

    项目结构对话框 / 依赖项选项卡

使用源集进行自定义测试

您可以使用 source set 功能添加自定义测试并单独运行它们。

  1. 声明一个源集的方式与声明 custom source set的方式相同。 除了指定源集的名称外,还需指定输出目录和将运行已声明测试的任务。 例如,声明一个集成测试 integrationTest

    sourceSets { integrationTest { java { srcDir 'src/integrationtest/java' } resources { srcDir 'src/integrationtest/resources' } compileClasspath += sourceSets.main.runtimeClasspath } } task integrationTest(type: Test) { description = "Runs Integration Tests" testClassesDirs = sourceSets.integrationTest.output.classesDirs classpath += sourceSets.integrationTest.runtimeClasspath }
  2. Gradle 工具窗口中,点击 任务 | 其他

  3. 在打开的列表中,双击 integrationTest 来运行。

    Gradle 工具窗口:任务

在 Gradle 项目中添加包前缀

如果您在 Gradle 项目中使用包前缀,请在 build.gradle 文件中指定它们。 这样,重新导入项目时一切都会被保存。

有关更多信息,请参见 https://github.com/JetBrains/gradle-idea-ext-plugin

  1. 请打开 build.gradle 文件。

  2. 添加以下插件以支持包前缀:

    plugins { id "org.jetbrains.gradle.plugin.idea-ext" version "0.5" }
  3. 添加包前缀。 例如,您有以下源集:

    sourceSets { main.java.srcDirs = [] main.java.srcDirs += "src" main.java.srcDirs += "src/main/java" main.java.srcDirs += "../other-root/src/main/java" }

    将包前缀(在我们的例子中是“org.example”)添加到它们中,代码如下:

    idea { module { settings { packagePrefix["src"] = "org.example" packagePrefix["src/main/java"] = "org.example" packagePrefix["../other-root/src/main/java"] = "org.example" } } }
  4. 重新导入您的更改或使用 auto-import

在 build.gradle 文件中指定 IDE 特定的设置

使用 gradle-idea-ext 插件,您可以描述项目设置,例如项目编码以及 build.gradle 文件中的属性文件编码。

  1. 请打开 build.gradle 文件。

  2. 添加以下插件以支持编码配置:

    plugins { id "org.jetbrains.gradle.plugin.idea-ext" version "0.5" }
  3. 请使用以下代码描述项目编码:

    import org.jetbrains.gradle.ext.EncodingConfiguration.BomPolicy idea { project { settings { encodings { encoding = 'windows-1251' bomPolicy = BomPolicy.WITH_NO_BOM properties { encoding = '<System Default>' transparentNativeToAsciiConversion = false } mapping['../sample-gradle-free/module'] = 'windows-1251' mapping['module'] = 'windows-1251' mapping['module2/src/main/java'] = 'windows-1251' } } } }
  4. 重新导入您的更改或使用 auto-import

使用 buildSrc

如果您有包含多个 Java、Groovy 或 Kotlin 类的大型 Gradle 脚本,可以将这些类移至 buildSrc 目录,并从您的主 Gradle 脚本中引用它们。 在这种情况下,您确保 build.gradle 文件的可读性。

  1. 如果您没有现有的 buildSrc ,请将其作为 Gradle 模块添加到您的主项目中。

    项目工具窗口:buildSrc 模块
  2. 在编辑器中打开您的主要 build.gradle 文件,然后将您需要的类移动到 main 目录下的 buildSrc子目录。

    项目工具窗口:buildSrc
  3. 从您的项目 build.gradle 文件运行您的任务。

    构建脚本

配置构建和运行操作

默认情况下,IntelliJ IDEA 使用 Gradle 构建和运行项目。

当您构建一个项目(构建 | 构建项目 )时,IntelliJ IDEA 使用 Gradle 调用相应的任务。 Gradle 还会从 运行 菜单中执行 运行调试 操作。 HotSwap 也会被触发,并且类会在调试过程中重新加载。

如果您有已链接的项目,您可以配置如何构建每个已链接的项目。

  1. 设置 对话框(Ctrl+Alt+S )中,前往 构建、执行、部署 | Gradle

  2. Gradle 设置页面的 Gradle 项目 部分,选择您需要的 Gradle 项目。

  3. 构建并运行使用列表中,选择适当的选项并点击 OK 以保存更改。

如果您希望使用 IntelliJ IDEA 构建 Gradle 项目,则需要明确指定。

将构建委托给 IntelliJ IDEA

您可以使用 IntelliJ IDEA 来构建一个纯Java或Kotlin项目。 由于 IntelliJ IDEA 支持增量构建,它可以加快构建过程。 请注意,IntelliJ IDEA 编译器不支持 Gradle 项目构建处理的某些部分,可能会导致构建项目时出现问题。

  1. 点击 Gradle 设置Gradle 工具窗口中。

    或者,在 设置 对话框(Ctrl+Alt+S )中,转到 构建、执行、部署|构建工具|Gradle

  2. Gradle 页面,从 使用此工具构建和运行 列表中选择 Intellij IDEA

    Gradle 设置

    请注意, 使用运行测试 选项保持激活状态,即使您将所有构建和运行操作委托给 IntelliJ IDEA,您也可以选择如何运行测试。

  3. 点击 OK

现在,如果您构建 Gradle 项目,它将使用 IntelliJ IDEA 进行构建。

最后修改日期: 2025年 9月 22日