无涯教程可以使用Gradle的 Build Init plugin 创建一个新的Java应用程序来跟踪Gradle约定。 Build插件提供了一个名为 init 的任务,该任务可以生成项目。该插件还使用包装器任务创建Gradle包装器脚本( gradlew )。
要使用Gradle创建Java应用程序,请执行以下步骤:
第1步 - 第一步是为新项目创建目录,并将目录更改为该目录。
遵循以下命令创建一个名为Java_application的目录:
mkdir java_application
遵循以下命令将命令行目录更改为该目录:
cd Java_application
第2步 - 运行 init命令创建一个新的Gradle项目:
gradle init
第3步 - 选择要生成的项目类型。有四个可用的命令行选项,如下所示:
输入2并按Enter键创建一个应用(application)程序。默认选择为基本。
第4步 - 选择实现语言。共有五个选项,如下所示:
键入3,然后按Enter键(对于Java)。默认选择是Java。
第5步 - 下一步是为项目选择默认的构建脚本语言。有两个选项,如下所示:
键入1并按Enter键以选择Groovy。默认选择是Groovy。
第6步 - 选择测试框架。测试框架有四个可用选项。它们如下:
输入您的选择。默认选择是JUnit 4。
第7步 - 输入项目名称(project name);默认情况下,它将目录名称作为项目名称。
第8步 - 输入源程序包(source package);默认情况下,它将目录名称作为源包。
现在,init任务已成功执行,并且无涯教程已经使用Gradle Init API创建了Java应用程序。
考虑以下输出:
init任务本身包含包装器任务,因此首先执行包装器任务,该任务在无涯教程的存储库中生成 gradlew 和 gradlew.bat 文件(包装器脚本)。它创建具有以下结构的Gradle项目:
上面的结构描述:
让无涯教程看一下项目的生成文件。它设置根项目的名称。
rootProject.name = 'Java_application'
它将使用默认行为,即在项目所在的目录之后对其进行命名。看起来像:
它是Gradle项目的构建脚本。生成的build.gradle文件包含许多组件。在此构建脚本中介绍了所使用的依赖关系及其版本。生成的构建文件的内容如下:
plugins { id 'java' id 'application' } repositories { jcenter() //public bintray artifactory repository } dependencies { implementation 'com.Learnfk.guava:guava:27.1-jre' //Google Guava Library testImplementation 'junit:junit:4.12' //JUnit testing library } application { mainClassName = 'Java_application.App'//class with the main method used by Gradle plugin }
Gradle构建脚本添加了Java和应用程序插件。当运行gradle命令时,它将在Gradle的构建脚本中搜索。
Gradle支持Java项目,并且包含一个具有main方法的类,该类可以从命令行执行。在Java_Application中,主类的名称为 App 。
文件App.java位于目录 Java_application\src\main\java\Java_application 中。 App.java的生成代码如下:
package Java_application; public class App { public String getGreeting() { return "Hello world."; } public static void main(String[] args) { System.out.println(new App().getGreeting()); } }
上面的Java源文件是由init任务生成的。
它是Java项目的测试类。测试类在目录 Java_application\src\test\java\Java_application 中进行。 AppTest.java的生成代码如下:
package Java_application; import org.junit.Test; import static org.junit.Assert.*; public class AppTest { @Test public void testAppHasAGreeting() { App classUnderTest = new App(); assertNotNull("app should have a greeting", classUnderTest.getGreeting()); } }
init任务生成给定的Java测试文件。生成的测试文件包含单个测试,该测试带有JUnit的@test注释。此测试实例化App类,调用 getGreeting(),并检查返回的值是否不为null。
要执行gradle构建,请与gradlew命令一起运行构建任务。但是,无涯教程可以运行gradle任务,但是最好包含wrapper脚本。
链接:https://www.learnfk.comhttps://www.learnfk.com/gradle/gradle-java-application.html
来源:LearnFk无涯教程网
gradlew build
输出:
构建任务将编译类,运行测试并创建测试报告。
Gradle包装器脚本检查是否已指定Guava和JUnit库,如果未指定,则它将下载并将其存储在/.gradle目录中。
gradle构建使用应用程序插件,因此可以从命令行运行该应用程序。 gradlew run 命令将用于从命令行运行应用程序。
首先,使用task命令显示插件添加的任务:
gradlew tasks
上面的命令将列出项目中的可用任务。考虑下面的输出:
现在,使用run命令运行该应用程序。它将传达Gradle以执行分配给 mainClassName 属性的类中的main方法。
gradlew run
输出:
Hello world.
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)