上一篇介绍了如何安装 Gradle,现在就可以直接通过已经安装好的 Gradle 创建一个普通 Java 项目
Gradle 默认内建了一个 init 插件,可以生成 Java 项目基础结构
$ gradle init --type
其中的 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 种方式来编译这个示例项目
通过本机安装好的 gradle 命令编译
通过当前项目根目录下的 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) 的内容将会另开一篇介绍