【IDEA教程】IDEA Gradle入门

所需插件:Gradle和Gradle Extension(默认安装并启用)
Gradle 版本:7.1
JDK版本:14
JUnit 版本:5
在本教程中,我们将创建一个 Gradle 项目,运行和测试它,并使用 Gradle 运行可执行的 JAR 文件。
步骤 1. 创建项目
让我们用 Java 创建一个 Gradle 项目。
使用 IntelliJ IDEA 创建一个新的 Gradle 项目
- 在欢迎屏幕上,单击新建项目。
- 在打开的页面上,让我们指定项目的名称 (FizzBuzz) 和位置。
- 让我们选择Java选项,这是我们的项目和Gradle所需要的,因为我们正在创建一个 Gradle 项目。
- IntelliJ IDEA 会自动在JDK字段中添加一个项目 SDK(JDK)。在我们的教程中,我们使用开放的 JDK 14 版本。
您可以更改所选的 JDK,IntelliJ IDEA 会下载相应的 Gradle 版本。您唯一需要的是互联网连接。
让我们保留Gradle DSL的默认Groovy并取消选择Add sample code选项,因为我们将从头开始添加我们自己的代码。
- 我们可以使用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.7.2' testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.7.2' } test { useJUnitPlatform() }
如您所见,IntelliJ IDEA 方便地添加了测试依赖项。IntelliJ IDEA 支持build.gradle文件中的代码完成。因此,如果我们决定添加更多依赖项,IntelliJ IDEA 将快速找到它们的名称和版本。
- IntelliJ IDEA 还会在Project工具窗口中创建包含main和test子目录的src文件夹。
- IntelliJ IDEA 启用带有喜欢项目及其默认任务的专用Gradle工具窗口。我们将使用这个窗口来运行我们的任务。
如果您关闭了此窗口,您始终可以通过选择查看 |从主菜单访问它。工具窗口 | Gradle。
- 我们项目中的Gradle 设置用于存储有关链接项目、Gradle JVM 和构建操作的信息。您可以从Gradle工具窗口(单击
工具栏上的 )快速访问它们。
如您所见,构建和测试操作被委托给 Gradle。此外,Gradle 包装器用于为我们的项目确定 Gradle。
- 项目结构( Ctrl+Alt+Shift+S) 包含有关项目的 JDK 和项目中使用的语言级别的信息。
步骤 2. 添加 Java 代码
现在让我们创建一个输出前 100 个FizzBuzz数字的 Java 应用程序。
向 Gradle 项目添加 Java 类
- 在项目工具窗口中打开src文件夹。
- 单击主目录,然后右键单击java 子目录并从列表中选择New | 包。
- 在New Package对话框中,让我们输入我们的包的名称,即com.gradle.tutorial。
- 现在右键单击包并选择新建 | Java 类。
- 在New Java Class对话框中,指定 Java 类的名称并单击OK。在我们的例子中是
FizzBuzzProcessor
.
将以下代码添加到主
FizzBuzzProcessor
类:package com.gradle.tutorial; 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); } }
我们的应用程序已准备就绪。现在,让我们为其创建必要的测试。
创建一个测试类
- 在编辑器中打开主类
FizzBuzzProcessor
,将插入符号放在类名处,然后按Ctrl+Shift+T。 - 在打开的对话框中,让我们确保我们的测试库是
JUnit4
(如果你想使用 JUnit5,那么确保你有JUnit5
)并且目标包是com.gradle.tutorial
. 我们添加名称FizzBuzzTest并保留其余默认选项,然后单击OK。 现在打开创建的测试类并添加以下代码:
package com.gradle.tutorial; 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("Buzz", fb.convert(5)); } }
步骤 3. 使用 Gradle 运行应用程序
让我们快速运行应用程序,看看它是否有效。
从编辑器运行主类
FizzBuzzProcessor
在编辑器中打开主类。- 在装订线中,单击
并选择Run 'FizzBuzzProcessor.main()'。
- 检查运行工具窗口中的结果。
步骤 4. 运行测试
现在,让我们运行我们创建的测试。
在 Gradle 项目中运行测试
我们可以使用该任务从编辑器或Gradle工具窗口运行我们的测试。test
我们将使用编辑器。
- 单击
编辑器的装订线。
测试结果将显示在运行工具窗口中。
如果我们在其中一个测试中更改默认数字,它将失败。
如您所见,“运行”工具窗口显示有关失败测试的信息,包括发生错误的特定代码行。
步骤 5. 创建可执行 JAR 文件
现在让我们构建我们的应用程序以创建一个可执行的 JAR 文件。
- 在Project工具窗口中,双击build.gradle文件以在编辑器中打开它。
添加以下代码:
jar { manifest { attributes "Main-Class": "com.gradle.tutorial.FizzBuzzProcessor" } from { configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } } }
- 在编辑器中单击
以加载对项目的更改。
- 在Gradle工具窗口中,打开项目的节点,然后打开Tasks节点并双击构建任务以运行它。
IntelliJ IDEA 创建包含我们的 JAR 文件的构建目录。
您可以使用 command 在命令行中运行创建的 JAR 文件java -jar
。
- 检查运行工具窗口以获取结果。
请注意,构建任务包括 Gradle 执行的测试任务。因此,如果我们在其中一项测试中出错,测试任务将失败,构建任务也会失败。
步骤 6. 使用 Gradle 运行 JAR 文件
现在让我们build.gradle
稍微调整一下文件,这样我们就可以在Run any窗口中执行我们的 JAR 文件。
运行 JAR 文件
- 在Project工具窗口中,双击build.gradle文件以在编辑器中打开它。
让我们添加
id 'application'
到该plugins
部分和以下代码:application { mainClassName = 'com.gradle.tutorial.FizzBuzzProcessor' }
- 在编辑器中单击
以加载对项目的更改。
- 在Gradle工具窗口中,打开项目的节点,然后打开Tasks节点。我们可以看到 Gradle 添加了分发节点。打开节点并双击assembleDist任务以运行它。
如果我们现在检查构建目录,我们将看到 IntelliJ IDEA 创建了其他目录。
- 在Gradle工具窗口中,单击
工具栏。
- 在打开的窗口中,输入
gradlew run
命令。
我们应该得到与在 IntelliJ IDEA 编辑器中运行应用程序时相同的结果。
或者,您可以在应用程序节点下执行运行任务。