【翻译】Gradle Guides - 构建 Java 应用程序

原文标题:Building Java Applications

原文链接:https://guides.gradle.org/building-java-applications/

分类:Gradle Guides

翻译:机器翻译 + 人工调整


目录

一、需求

二、查看用户手册

三、运行 init 任务

四、查看生成的项目文件

五、执行构建

六、运行该应用程序

七、总结


内容:使用 Gradle 的 Build Init 插件以标准形式创建 Java 应用程序

一、需求

  • 大约 8 分钟
  • 文本编辑器
  • 命令提示符程序
  • Java Development Kit (JDK),版本 1.7+
  • 最近版本的 Gradle

二、查看用户手册

Gradle 附带了一个名为 Build Init 的内置插件。它在 Gradle用户手册 中有记录。

该插件有一个名为init的任务,用于生成项目。

init 任务调用(也是内置的)wrapper 任务来创建 Gradle 包装器脚本gradlew。

要运行init任务,请从命令提示符运行以下命令:

$ gradle init --type <name>

name是以下之一:

  • java-application
  • java-library
  • scala-library
  • groovy-library
  • basic

本指南使用 java-application 类型。

步骤一:

  • 为新项目创建一个文件夹;
  • 并将目录更改为该文件夹。
$ mkdir java-demo
$ cd java-demo

三、运行 init 任务

步骤一:

  • 从新项目目录中,使用 java-application 参数运行 init 任务。
$ gradle init --type java-application
Starting a Gradle Daemon (subsequent builds will be faster)
> Task :wrapper
> Task :init

BUILD SUCCESSFUL

init 任务首先运行 wrapper 任务,生成 gradlew 和 gradlew.bat 包装器脚本。

然后它使用以下结构创建新项目:

├── build.gradle
├── gradle    
│   └── wrapper
│       ├── gradle-wrapper.jar
│       └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── settings.gradle
└── src
    ├── main
    │   └── java  
    │       └── App.java
    └── test      
        └── java
            └── AppTest.java

gradle:生成包装文件的文件夹

src/main/java:默认Java源文件夹

src/test/test:默认Java测试文件夹

四、查看生成的项目文件

settings.gradle 文件有很多注释,但只有一个起作用的行:

rootProject.name='java-demo'

这会将根项目的名称分配给java-demo,这是默认设置。

生成的build.gradle文件也有很多注释。

此处重现活动部分(注意,在更高版本的Gradle中,依赖项的版本号可能会更新):

plugins {
    id 'java'
    id 'application'
}

repositories {
    jcenter()  
}

dependencies {
    compile 'com.google.guava:guava:21.0'  
    testCompile 'junit:junit:4.12'         
}

mainClassName = 'App'  

代码说明(这里缺少序号标注):

  • 公共Bintray Artifactory存储库
  • 谷歌 Guava 库
  • JUnit 测试库
  • 具有“main”方法的类(由 application 插件使用)

构建文件添加了java和 application 插件。前者支持Java项目。

后者允许您指定一个具有 main 方法的类(可以通过在命令行执行 build 来调用该 main 方法)。

在这个 demo 中,包含 main 方法的类的名字是 App。

文件src / main / java / App.java如下所示:

public class App {
    public String getGreeting() {
        return "Hello world.";
    }

    public static void main(String[] args) {  
        System.out.println(new App().getGreeting());
    }
}

main 方法由 application 插件的 “run” 任务调用

测试类src / test / java / AppTest.java 如下:

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());
    }
}

生成的测试类有一个用 JUnit 的 @Test 注解注释的测试。

测试实例化 App 类,调用 getGreeting 方法,并检查返回的值是否为null。

五、执行构建

要构建项目,请运行 build 命令。

您可以使用常规 gradle 命令,但是当项目包含包装器脚本时,gradlew 被认为是更好的形式。

$ ./gradlew build
> Task :compileJava
> Task :processResources NO-SOURCE
> Task :classes
> Task :jar
> Task :startScripts
> Task :distTar
> Task :distZip
> Task :assemble
> Task :compileTestJava
> Task :processTestResources NO-SOURCE
> Task :testClasses

> Task :test

> Task :check
> Task :build

BUILD SUCCESSFUL

第一次运行包装器脚本 gradlew 时,可能会有延迟。

这时命令在下载该 gradle 版本,并将其本地存储在〜/ .gradle / wrapper / dists文件夹中。

第一次运行构建时,Gradle 将检查您的〜/ .gradle目录下的缓存中是否已经有Guava和JUnit库。

如果没有,库将被下载并存储在那里。下次运行构建时,将使用缓存版本。

build 任务编译类运行测试 生成测试报告

可以通过打开位于 build / reports / tests / test / index.html 的HTML输出文件来查看测试报告。

示例报告:

Test Summary

六、运行该应用程序

由于 Gradle 构建使用了application 插件,因此可以从命令行运行该应用程序。

首先,使用 tasks 任务查看插件添加了哪些任务。

$ ./gradlew tasks
:tasks

------------------------------------------------------------
All tasks runnable from root project
------------------------------------------------------------

Application tasks
-----------------
run - Runs this project as a JVM application

// ... many other tasks ...

run 任务告诉 Gradle ,执行 mainClassName属性指定的类中的 main 方法。

$ ./gradlew run
:compileJava UP-TO-DATE
:processResources NO-SOURCE
:classes UP-TO-DATE
:run
Hello world.


BUILD SUCCESSFUL

七、总结

您现在拥有了一个使用Gradle的build init插件生成的新Java项目。

在此过程中,您看到:

  • 如何生成 Java 应用程序
  • 生成的构建文件和示例 Java 文件是怎样构成的
  • 如何运行 build 并查看测试报告
  • 如何使用 application 插件中的 run 任务来执行 Java 应用程序

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值