上一篇介绍了如何安装 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

原文出处:http://www.xiegangd.com/article/153483978582311

使用 Gradle 快速创建 Java 项目的更多相关文章

  1. 使用Gradle自动创建Java项目结构

    D:\N3verL4nd\Desktop\java>tree 卷 本地磁盘 的文件夹 PATH 列表 卷序列号为 00000200 0006:08B0 D:. ├─.gradle │ ├─3.4 ...

  2. 2springboot:快速创建springboot项目

    使用IDEA快速创建springboot项目流程: 创建新的项目选择 项目的命名以及包名 需要什么包就导入什么包 进行测试的单元 <dependency> <groupId>o ...

  3. Java开发环境的搭建以及使用eclipse从头一步步创建java项目

    一.java 开发环境的搭建 这里主要说的是在windows 环境下怎么配置环境. 1.首先安装JDK java的sdk简称JDK ,去其官方网站下载最近的JDK即可..http://www.orac ...

  4. IntelliJ IDEA创建java项目

    IntelliJ IDEA创建java项目 进入到IntelliJ IDEA启动界面,点击Create New Project 2.这样就进入到了创建项目页面,这里可以创建好多项目,这里我们以java ...

  5. 一、IntelliJ IDEA创建java项目

    一.IntelliJ IDEA创建java项目 二.IntelliJ IDEA下载并包含jdbc包 1.下载zip格式的驱动包:https://dev.mysql.com/downloads/conn ...

  6. 使用Maven创建Java项目

    在本教程中,我们将向你展示如何使用 Maven 来创建一个 Java 项目,导入其到Eclipse IDE,并打包 Java 项目到一个 JAR 文件. 所需要的工具: Maven 3.3.3 Ecl ...

  7. Maven学习(十)-----使用Maven创建Java项目

    所需要的工具: Maven 3.3.3 Eclipse 4.2 JDK 8 注意:请确保 Maven 是正确安装和配置(在Windows,*nix,Mac OSX系统中),然后再开始本教程,避免 mv ...

  8. 使用IDEA创建java项目(hello word)

    前提:已安装好jdk,配置好环境变量.我使用的是java 8. 首先在自己的D盘下建一个文件夹,用来存放我们待会新建的项目,我创建了IdeaProject: 1,第一步打开idea 第二步选择创建ja ...

  9. Eclipse 创建 Java 项目

    打开新建 Java 项目向导 通过新建 Java 项目向导可以很容易的创建 Java 项目.打开向导的途径有: 通过点击 "File" 菜单然后选择 New > Java P ...

随机推荐

  1. 获取jQuery DataTables 的checked选中行

    $(function () { var  tabel = $('#userlist').DataTable({        destroy: true, //Cannot reinitialise ...

  2. Vulnhub渗透测试练习(一) ----------Breach1.0

    教程网址 https://www.freebuf.com/articles/system/171318.html 学习经验总结 1.使用jre的bin目录下的keytool命令来输入秘钥库口令进而获取 ...

  3. c#处理json格式类型的字符串

    string channelGroup=[{"SpType":"1","BaseInfoId":["xxx"," ...

  4. 【Python—参数】*arg与**kwargs参数的用法

    在python中,这两个是python中的可变参数,*arg表示任意多个无名参数,类型为tuple;**kwargs表示关键字参数,为dict. # *允许你传入0个或任意个参数,这些可变参数在函数调 ...

  5. NEO4J -模糊查询

    模糊查询 match(emp) where emp.name =~'.*haha.*' return emp 现有节点创建关系 MATCH (cust:Customer),(cc:CreditCard ...

  6. KindEditor 文本编辑器

    官网:http://kindeditor.net/docs/usage.html 目前支持ASP.ASP.NET.PHP.JSP.

  7. StatusStrip 分类: C# 2015-07-23 11:58 2人阅读 评论(0) 收藏

    通过StatusStrip显示窗体状态栏 同时将状态栏分成三部分 居左边显示相关文字信息 中间空白显示 居右边显示时间信息 1.创建窗体及添加StatusStrip   默认StatusStrip名称 ...

  8. RabbitMQ ——整体架构

    一 .概述 从整体上讲Rabbitmq就是一个生产者消费者的模型. 我们将中间的整个broker就当做是一个消息中间件的实体就可以了. 单从这个方面上讲,生产者发送消息到broker上面,然后消费者从 ...

  9. 七、WebApi跨域操作

    情景:测试后返回"no response from server"? 请求响应: js调试控制台: 一.搜索安装 Microsoft.AspNet.WebApi.Cors 二.添加 ...

  10. yara规则的二进制漏洞

    https://www.anquanke.com/post/id/147675 yara32.exe 后缀.yar