IntelliJ IDEA 可让您管理Gradle项目。您可以链接、忽略项目、使用配置文件以及同步 Gradle 和 IntelliJ IDEA 项目中的更改。您还可以配置 Gradle 复合构建、Gradle 源集、构建和运行操作。

导航到 build.gradle 文件

  1. 在Gradle工具窗口中,右键单击链接的项目。
  2. 从上下文菜单中,选择Open Gradle config F4。

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

在多模块项目中导航

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

  1. 打开父项目的build.gradle
  2. 使用Ctrl+Click快捷方式导航到子项目。

1.gif

您还可以通过查找工具窗口查看子项目的使用情况Alt+F7并检查结果。

2.png

取消链接链接的 Gradle 项目

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

  1. 在Gradle工具窗口中,右键单击链接的项目。
  2. 从上下文菜单中,选择取消链接 Gradle 项目( Delete)。或者,您可以选择链接的项目并单击删除图标工具窗口的工具栏。
  3. 如果您不想从 IntelliJ IDEA项目工具窗口中删除项目,请在Import Gradle Projects弹出窗口中清除模块对应的复选框。
  4. 单击确定。

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

忽略 Gradle 项目

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

  1. 在Gradle工具窗口中,右键单击要忽略的项目。
  2. 从上下文菜单中,选择Ignore Gradle Project。
  3. 在打开的窗口中,选择要取消激活的项目和模块,然后单击OK。

如果要激活 Gradle 项目或模块,请从上下文菜单中选择Unignore Gradle Projects 。

孤儿模块

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

  • 当您手动删除build.gradle文件中的模块然后重新导入您的项目时。
  • 当您在Gradle工具窗口中的模块上使用Ignore Project操作时,然后重新导入您的项目。

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

3.png

您可以在“孤立模块”对话框中选择要恢复的模块。

4.png

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

重新加载链接的 Gradle 项目

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

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

  1. 在Gradle工具窗口中,右键单击链接的项目。
  2. 从上下文菜单中,选择Reload Gradle project 重新加载图标

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

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

如果您通过Project Structure对话框(项目结构按钮从主菜单单击 )配置依赖项,则依赖项将仅出现在 IntelliJ IDEA Project工具窗口中,而不出现在Gradle工具窗口中。请注意,下次重新导入项目时,IntelliJ IDEA 将删除添加的依赖项,因为 IntelliJ IDEA 将 Gradle 配置视为单一事实来源。

  1. 单击状态栏可在构建工具窗口构建图标中查看同步结果。

要重新加载所有 Gradle 项目,请单击Gradle工具窗口重新加载所有 Gradle 项目按钮中的工具栏。

配置自动重载

  1. 在Settings/Preferences对话框 ( Ctrl+Alt+S) 中,转到Build、Execution、Deployment | 构建工具。

或者,在Gradle工具窗口中,单击构建工具设置并选择自动重新加载设置选项。

5.png

  1. 在构建工具设置中,指定以下选项:

6.png

  • 重新加载构建脚本中的更改:默认选择此选项。如果要禁用自动重新加载并手动控制重新加载过程,请取消选中此复选框。
  • 任何更改:如果您想在对build.gradle进行任何更改或外部更改后自动重新加载项目,请选择此选项。

    每次在编辑器中手动更改 Gradle 构建脚本时,都需要加载更改。IntelliJ IDEA 在编辑器的右侧显示一个通知图标,建议加载对项目所做的 Gradle 更改( Ctrl+Shift+O)。

7.png

 使用Any changes选项,IntelliJ IDEA 会自动重新加载所有更改。
  • External chages:当您选择此选项时,IntelliJ IDEA 仅在 VCS 更改以及对 IDE 外部的构建文件进行更改后才会自动重新加载项目。

配置 Gradle 复合构建

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

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

  1. 在编辑器中打开settings.gradle文件。
  2. 使用该includeBuild命令,指定要作为依赖项添加到项目的构建的位置。

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

  1. 打开一个 Gradle 项目。
  2. 链接您要用于复合构建的其他 Gradle 项目。
  3. 在Gradle工具窗口中,右键单击您的主项目,然后从上下文菜单中选择Composite Build Configuration。
  4. 在Gradle Project Build Composite对话框中,选择要包含在 Gradle 复合构建中的项目。
  5. 重新导入您的主要 Gradle 项目。

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

使用 Gradle 源集

IntelliJ IDEA 允许您使用Gradle 源集来解析 Gradle 项目。源集被视为 IntelliJ IDEA 项目中的一个模块。您可以声明自定义源集,IntelliJ IDEA 将其作为模块添加到项目中。

当您创建 Gradle 项目时,IntelliJ IDEA 会自动创建一个主Source Sets目录,其中包含两个源集 - maintest。IntelliJ IDEA 还在Gradle工具窗口的Dependencies节点中显示编译和运行时配置。

8.png

添加自定义源集

  1. 在编辑器中打开gradle.build文件。
  2. 声明一个自定义源集(在我们的示例中,它是 api)。

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

(这个源集包含没有实现的接口。接口的实现在默认的源集中。)

  1. 打开Gradle工具窗口可以看到 IntelliJ IDEA 添加了api编译和运行时配置。

9.png

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

  1. 从主菜单中,选择文件 | 项目结构Ctrl+Alt+Shift+S打开项目结构。请注意,所有源集都表示为单独的模块,这些模块组合成一个模块。如果单击测试模块并选择依赖项选项卡,您将看到源集的依赖项列表。

10.png

使用源集进行自定义测试

您可以添加自定义测试并使用源集功能将它们与主要测试分开运行。

  1. 以与声明自定义源集相同的方式声明源集。除了源集的名称,指定一个输出目录和一个将运行声明的测试的任务。例如,声明一个集成测试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运行它。

11.png

在 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"
    }
  1. 添加包前缀。例如,您有以下一组源集:

    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"
        }
    }
}
  1. 重新导入您的更改或使用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'
                }
            }
        }
    }

<System Default> 是一个字符串常量,表示将使用系统默认编码设置。

  1. 重新导入您的更改或使用auto-import

使用 buildSrc

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

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

12.png

  1. 在编辑器中打开您的主build.gradle文件并将您需要的类移动到buildSrc目录的子目录中。

13.png

  1. 从项目的build.gradle文件运行任务。

14.png

如果您需要更改在 Gradle 脚本中引用的类的名称,则可以使用Rename重构。 Shift+F6IntelliJ IDEA 将更改应用于所有引用。

配置构建和运行操作

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

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

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

如果您在项目中使用annotationProcessors,我们建议您将运行和构建操作委托给 Gradle,以便在您的项目中正确启用注释处理器。

  1. 在Settings/Preferences对话框 ( Ctrl+Alt+S) 中,转到Build、Execution、Deployment | Gradle。
  2. 在Gradle设置页面的Gradle Projects部分中,选择您需要的 Gradle 项目。
  3. Build and run using列表中,选择适当的选项并单击OK以保存更改。

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

将构建委托给 IntelliJ IDEA

使用 IntelliJ IDEA 构建纯 Java 或 Kotlin 项目可能会有所帮助。由于 IntelliJ IDEA 支持增量构建,因此可以加快构建过程。但是,请记住,IntelliJ IDEA 编译器不支持 Gradle 项目构建处理的某些部分,并且可能会导致正确构建项目时出现问题。

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

或者,在Settings/Preferences对话框 ( Ctrl+Alt+S) 中,转到Build, Execution, Deployment |Build Tools |Gradle。

  1. 在Gradle页面上,从Build and run using列表中选择Intellij IDEA。

15.png

请注意,Run test using选项保持活动状态,即使您将所有构建和运行操作委托给 IntelliJ IDEA,您也可以选择运行测试的方式。

  1. 单击确定。

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

标签: idea破解, idea激活码, IDEA, IDEA主题, IDEA教程, idea破解插件, idea注册码, idea注册码2021, idea注册码2022, idea注册码失效, idea注册码永久, idea注册码在线生成, idea破解教程, IDEA基础教程, IDEA高级教程, IDEA核心教程, IDEA插件, IDEA入门教程