IntelliJ IDEA 2025.1 Help

开始使用 Gradle

在本教程中,我们将创建一个 Gradle 项目,然后运行和测试它,并使用 Gradle 运行可执行的 JAR 文件。

本教程中使用的项目可以在 GitHub 找到。 请注意,包名称已从 com.gradle.tutorial 更改为 org.mytest。 此外,Gradle、JDK 和 JUnit 的版本也有所不同。

第 1 步. 创建项目

让我们创建一个使用 Java 的 Gradle 项目。

用 IntelliJ IDEA 创建一个新的 Gradle 项目

  1. 在欢迎屏幕上,点击 新建项目

    新建项目 Gradle
  2. 在打开的页面上,指定我们项目的名称(FizzBuzz)和位置。

  3. 让我们选择 Java 选项,这是我们项目所需要的 Gradle ,因为我们正在创建一个 Gradle 项目。

  4. IntelliJ IDEA 会自动在 JDK 字段中添加项目 SDK(JDK)。 在我们的教程中,我们使用的是 Open JDK 14 版本。

    您可以更改所选的 JDK,IntelliJ IDEA 将下载相应的 Gradle 版本。 您唯一需要具备的就是互联网连接。

    让我们保留默认的 Groovy 进行 Gradle DSL,并取消选择 添加示例代码 选项,因为我们将从头开始添加自己的代码。

  5. 我们可以使用 ArtifactId 的默认信息,这基本上是我们项目的名称,并保留 GroupId 字段中的默认信息。

    点击 创建

在我们创建项目并完成索引之后,让我们看看里面有什么:

  • IntelliJ IDEA 创建一个包含以下代码的 build.gradle 文件的项目:

    plugins { id 'java' } group 'org.example' version '1.0-SNAPSHOT' repositories { mavenCentral() } dependencies { testImplementation 'org.junit.jupiter:junit-jupiter-api:5.10.0' testImplementation 'org.junit.jupiter:junit-jupiter' } test { useJUnitPlatform() }

    正如您所见,IntelliJ IDEA 方便地添加了一个测试依赖项。 IntelliJ IDEA 支持在 build.gradle 文件内进行代码补全。 所以,如果我们决定添加更多依赖项,IntelliJ IDEA 将很快找到它们的名称和版本。

  • IntelliJ IDEA 还会在 项目 工具窗口中创建包含 main 测试 子目录的 文件夹。

    Gradle 项目视图
  • IntelliJ IDEA 启用专用 Gradle 工具窗口,并关联项目及其默认任务。 我们将使用此窗口运行我们的任务。

    Gradle 工具窗口

    如果您关闭了此窗口,您可以随时通过选择 视图 | 工具窗口 | Gradle 从主菜单访问它。

  • 我们项目中的 Gradle 设置用于存储有关链接项目、Gradle JVM 和构建操作的信息。 您可以从 Gradle 工具窗口快速访问它们(点击工具栏上的 )。

    Gradle 设置

    如您所见,构建和测试操作已委托给 Gradle。 此外,Gradle wrapper 被用于确定我们项目的 Gradle。

  • 项目结构 (Ctrl+Alt+Shift+S) 包含有关项目的 JDK 和项目中使用的语言级别的信息。

    项目结构

第 2 步. 添加 Java 代码

现在让我们创建一个 Java 应用程序,该程序输出前 100 个 FizzBuzz 数字。

将 Java 类添加到 Gradle 项目

  1. 项目 工具窗口中打开 文件夹。

  2. 点击 main 目录,然后右键点击 java 子目录,并从列表中选择 新建 | 软件包

  3. 新建包 对话框中,让我们输入包名,即 com.gradle.tutorial

  4. 现在右键点击该包并选择 新建 | Java 类

  5. 新建 Java 类 对话框中,指定您的 Java 类的名称并点击 OK。 在我们的案例中是 FizzBuzzProcessor

    创建新类对话框
  6. 请将以下代码添加到 main FizzBuzzProcessor 类:

    package org.mytest; public class FizzBuzzProcessor { public static void main(String[] args) { for (int i = 1; i <= 100; i++) { System.out.println(convert(i)); } } public static String convert(int fizzBuzz) { if (fizzBuzz % 15 == 0) { return "FizzBuzz"; } if (fizzBuzz % 3 == 0) { return "Fizz"; } if (fizzBuzz % 5 == 0) { return "Buzz"; } return String.valueOf(fizzBuzz); } }

我们的应用程序已准备就绪。 现在,让我们为其创建必要的测试。

创建测试类

  1. 在编辑器中打开主类 FizzBuzzProcessor ,将文本光标放在类名处并按下 Ctrl+Shift+T

  2. 在打开的对话框中,让我们确保我们的测试库是 JUnit5 ,目标包是 com.gradle.tutorial。 我们添加名称 FizzBuzzTest ,并保留其余默认选项不变,然后点击 OK

  3. 现在打开创建的测试类并添加以下代码:

    package org.mytest; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.*; public class FizzBuzzTest { @Test public void FizzBuzzNormalNumbers() { FizzBuzzProcessor fb = new FizzBuzzProcessor(); Assertions.assertEquals("1", fb.convert(1)); Assertions.assertEquals("2", fb.convert(2)); } @Test public void FizzBuzzThreeNumbers() { FizzBuzzProcessor fb = new FizzBuzzProcessor(); Assertions.assertEquals("Fizz", fb.convert(3)); } @Test public void FizzBuzzFiveNumbers() { FizzBuzzProcessor fb = new FizzBuzzProcessor(); Assertions.assertEquals("Buzz", fb.convert(5)); } @Test public void FizzBuzzThreeAndFiveNumbers() { FizzBuzzProcessor fb = new FizzBuzzProcessor(); Assertions.assertEquals("FizzBuzz", fb.convert(15)); } }

第 3 步. 使用 Gradle 运行应用程序

让我们快速运行应用程序,看看它是否有效。

从编辑器运行主类

  1. 在编辑器中打开主类 FizzBuzzProcessor

  2. 在装订区域栏中,点击 并选择 运行 'FizzBuzzProcessor.main()'

    在 Gradle 中运行应用程序
  3. 请在 运行 工具窗口中检查结果。

    运行工具窗口

第 4 步. 运行测试

现在,让我们运行刚刚创建的测试。

在 Gradle 项目中运行测试

您可以从编辑器或者使用 Gradle 工具窗口运行测试,并使用 测试 任务。 我们将使用编辑器。

  • 点击 在编辑器的空隙。

    从代码区域执行 Gradle 测试

测试结果将显示在 运行 工具窗口中。

运行工具窗口 /测试通过

如果我们更改其中一个测试中的默认数字,它将失败。

运行工具窗口 / 测试失败

正如您所见, 运行 工具窗口显示有关失败测试的信息,包括出错的特定代码行。

第 5 步. 创建可执行 JAR 文件

现在让我们构建我们的应用程序以创建一个可执行的 JAR 文件。

  1. 项目 工具窗口中,双击 build.gradle 文件以在编辑器中打开。

  2. 请添加以下代码:

    jar { manifest { attributes "Main-Class": "org.mytest.FizzBuzzProcessor" } from { configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } } }
  3. 点击编辑器中的 以同步项目的更改。

  4. Gradle 工具窗口中,打开项目的节点,然后打开 任务 节点,双击 构建: 任务以运行它。

    Gradle 工具窗口:构建任务

    IntelliJ IDEA 创建包含我们的 JAR 文件的 构建: 目录。

    Project 工具窗口:build 目录

    您可以在命令行中使用 java -jar 命令运行创建的 JAR 文件。

  5. 请查看 运行 工具窗口中的结果。

    运行工具窗口:构建任务

    请注意,构建任务包括 Gradle 执行的测试任务。 所以,如果我们在某个测试中出错,测试任务将会失败,构建任务也会失败。

    运行工具窗口:构建失败测试

第 6 步. 使用 Gradle 运行 JAR 文件

现在让我们再稍微调整一下 build.gradle 文件,这样我们可以在 运行任何内容 窗口中执行我们的 JAR 文件。

运行 JAR 文件

  1. 项目 工具窗口中,双击 build.gradle 文件以在编辑器中打开。

  2. 让我们将 id 'application' 添加到 plugins 部分以及以下代码中:

    application { mainClassName = 'org.mytest.FizzBuzzProcessor' }
  3. 点击 在编辑器中加载项目的更改。

  4. Gradle 工具窗口中,打开项目的节点,然后打开 任务 节点。 我们可以看到 Gradle 添加了 分发 节点。 打开节点并双击 组装Dist 任务运行它。

    如果我们现在检查 构建: 目录,我们会看到 IntelliJ IDEA 创建了额外的目录。

    Project 工具窗口:build 目录
  5. Gradle 工具窗口中,点击工具栏上的 运行任何内容

  6. 在打开的窗口中,输入 gradlew run 命令。

    运行任何内容:gradlew run

    我们应该得到与在 IntelliJ IDEA 编辑器中运行应用程序时相同的结果。

    运行工具窗口:运行任务输出

    或者,您可以在 应用程序 节点下执行 运行 任务。

    Gradle 工具窗口:运行任务
最后修改日期: 2025年 4月 24日