使用 Gradle 快速创建 Java 项目

2018-08-21 16:23:05

上一篇介绍了如何安装 Gradle,现在就可以直接通过已经安装好的 Gradle 创建一个普通 Java 项目

Gradle 默认内建了一个 init 插件,可以生成 Java 项目基础结构

$ gradle init --type <name>

其中的 name 可以是以下值

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

这篇文章使用 java-application,先创建一个文件夹用来保存即将编写的项目代码

$ mkdir java-demo
$ cd java-demo

创建项目

在 java-demo 文件夹内,执行 gradle init 任务,创建一个新 Java 项目

$ gradle init --type java-application
Starting a Gradle Daemon (subsequent builds will be faster)

BUILD SUCCESSFUL in 3s
2 actionable tasks: 2 executed

gradle init 执行成功之后的目录结构如下:

├── 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 自动生成的 App.java 代码

/*
 * This Java source file was generated by the Gradle 'init' task.
 */
public class App {
    public String getGreeting() {
        return "Hello world.";
    }

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

非常单纯的功能,只是打印 Hello world. 字符串

编译项目

现在有 2 种方式来编译这个示例项目

  1. 通过本机安装好的 gradle 命令编译
  2. 通过当前项目根目录下的 gradlew 命令编译(官方推荐的使用方式)

这两种方式有什么不同,用第 gradlew 命令种方式有什么好处,我会单独写一篇文章进行介绍

$ ./gradlew build

BUILD SUCCESSFUL in 2s
7 actionable tasks: 7 executed

运行项目

由于一开始指定 --type java-application 创建项目,所以现在可以直接通过命令行运行该项目

通过执行 ./gradlew tasks 命令可以查看有哪些任务可以供==当前项目==执行

$ ./gradlew tasks

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

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

... 省略其他自带的任务

可以看到 Application tasks 列出了一个 run 任务,直接执行看下是什么结果

$ ./gradlew run

> Task :run
Hello world.

BUILD SUCCESSFUL in 0s
2 actionable tasks: 1 executed, 1 up-to-date

成功的输出了 Hello world. 也就是执行了 src/main/java/App.java 的 main 方法

来看一下 build.gradle

plugins {
    id 'java'

    id 'application'
}

mainClassName = 'App'

... 省略

由于这个配置文件告诉了 gradle 该项目的入口是 src/main/java/App.java

所以执行 ./gradlew run 命令的时候就会打印 Hello world.

至此,我们简单的、粗略的完成了如何使用 Gradle 新建一个 Java 项目,并进行编译、执行

这篇文章还有几个文件、文件夹没有介绍到,如下:

├── gradle
│   └── wrapper
│       ├── gradle-wrapper.jar
│       └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat

关于 gradlew (Gradle Wrapper) 的内容将会另开一篇介绍

更多内容查看 Gradle 官方文档 Building Java Application