当前位置: 首页 > 编程笔记 >

Gradle快速安装及入门

何涵衍
2023-03-14
本文向大家介绍Gradle快速安装及入门,包括了Gradle快速安装及入门的使用技巧和注意事项,需要的朋友参考一下

1、什么是Gradle

Gradle是一种结合了Ant和Maven两者优势的下一代构建工具,既有Ant构建灵活性的优点,也保留Maven约定优于配置的思想,在灵活构建和约定构建之间达到了很好的平衡。

2、安装Gradle

 (1)Gradle属于解压配置即可使用的软件

  下载解压gradle-4.1-all.zip,例如解压到:D:/ gradle-4.1

(2)window中设置gradle环境变量:

  •   GRADLE_HOME    D:/ gradle-4.1
  •   path                    D:/ gradle-4.1/bin(或者:%GRADLE_HOME%\bin)

(3)开始->运行->cmd,输入如下命令:gradle -v

3、Gradle构建脚本

每一gradle构建脚本都包含三个基本构建块:project、task和property。每一个构建中至少包含一个project,进而包含一个或多个task(project和task可以分别理解为Ant构建工具中的<project>和<target>标签)。project和task暴露的属性可以用来控制构建,project本身自带很多task并且和通过引入新的插件来引入新的task,task中包含各种构建方法来执行项目构建,例如:clean、build等常见的构建方法。

(1)、创建一个空白的build.gradle构建脚本

项目目录结构(假如其中demo为D:\demo):

  1. demo
  2. |--build.gradle(D:\demo\build.gradle)

执行如下命令: 

D:\demo>gradle tasks

执行结果输出:

(2)、创建一个包含有java plugin的构建脚本

项目目录结构(假如其中demo为D:\demo):

  1. demo
  2. |--build.gradle(D:\demo\build.gradle)

build.gradle 构建脚本内容:

apply plugin: 'java'

执行如下命令:

D:\demo>gradle tasks

执行结果输出(部分):

总结:对比上面两 个构建脚本gradle tasks 命令输出的结果,加了apply plugin: 'java' 插件的构建脚本要多出了 Build tasks 等任务,从第二个 Build tasks 任务中能够看到,gradle 构建的常用命令 build、clean等,由此可以知道通过引入插件,就可以增加相应的构建功能。

4、Gradle案例实战

(1)、基于约定由于配置构建项目

基于约定的项目目录结构图(和maven默认目录结构一致):

Gradle采用了Maven约定优于配置的思想,只要按照一定的项目目录结构,构建插件将能都自动找到需要构建的文件进行项目构建,构建如此的简单。下面是一个标准的项目目录结构

项目目录结构(假如其中demo为D:\demo):

  1. demo
  2. |--src
  3. |----main
  4. |------java
  5. |--------com
  6. |-----------hello
  7. |--------------Hello.java(D:\demo\src\main\java\com\hello\Hello.java)
  8. |------resources
  9. |----test
  10. |------java
  11. |------resources
  12. |--build.gradle(D:\demo\build.gradle)

Hello.java  内容(只是一个简单的java类,自己可以任意写)

public class Hello{
 public static void main(String[] args){
 System.out.println("hello ant");
 }
}

build.gradle  内容(只需要引入java 插件)

apply plugin: 'java'

进入D:\demo目录在命令行执行 gradle clean build 命令后的目录结构:

生成了标准的build输出目录 

  1. demo
  2. |--build
  3. |----classes
  4. |------java
  5. |--------main
  6. |----------com
  7. |------------hello
  8. |---------------Hello.class(D:\demo\build\classes\java\main\com\hello\Hello.class)
  9. |----libs
  10. |-------Hello.jar(D:\demo\build\libs\Hello.jar)
  11. |--src
  12. |----main
  13. |------java
  14. |--------com
  15. |-----------hello
  16. |--------------Hello.java(D:\demo\src\main\java\com\hello\Hello.java)
  17. |------resources
  18. |----test
  19. |------java
  20. |------resources
  21. |--build.gradle(D:\demo\build.gradle)

(2)、灵活定制构建项目

当构建历史遗留项目,由于项目目录结构的高度自由,gradle可以通过简单的配置即可完成项目构建

下面是一个非标准的项目目录结构(Hello.java并未位于标准的目录中):

项目目录结构(假如其中demo为D:\demo):

  1. demo
  2. |--src
  3. |------com
  4. |---------hello
  5. |--------------Hello.java(D:\demo\src\com\hello\Hello.java)
  6. |--build.gradle(D:\demo\build.gradle)

build.gradle  内容(只需要简单的指定源文件目录和编译输出目录,即可定制构建)

apply plugin: 'java'
sourceSets{
 main{
 java {
  srcDirs = ['src'] //指定了java源文件目录为src而不是默认的src/main/java
 }
 }
}
buildDir = 'out' //指定输出目录为out而不是默认的build

进入D:\demo目录在命令行执行 gradle clean build 命令后的目录结构:

输出目录名称变成了out,但是out中的编译生成文件目录等都按照了标准生成 

  1. demo
  2. |--out
  3. |----classes
  4. |------java
  5. |--------main
  6. |----------com
  7. |------------hello
  8. |---------------Hello.class(D:\demo\out\classes\java\main\com\hello\Hello.class)
  9. |----libs
  10. |-------Hello.jar(D:\demo\out\libs\Hello.jar)
  11. |--src
  12. |------com
  13. |---------hello
  14. |--------------Hello.java(D:\demo\src\com\hello\Hello.java)
  15. |--build.gradle(D:\demo\build.gradle)

通过上面两个简单的java项目(基于约定由于配置构建项目 和 灵活定制构建项目)构建能够很明了的提现gradle基于约定构建的简单快速和制定构建的灵活

5、Gradle优缺点

优点:基本结合了以往项目构建工具(Ant和Maven)的所有优点,是构建工具的首选

缺点:相对较高的理解学习成本

6、Gradle的特性

Gradle使用Groovy作为脚本语言的构建工具,而Groovy是基于JVM的动态html" target="_blank">语言,它对Java有着先天的兼容性,你甚至可以在构建脚本中编写Java程序。

Gradle不像Ant和Maven那样使用xml编写脚本,它使用的是Groovy,这意味着你在编写脚本的时候更像是在写程序,而不是编写充满尖括号又不好阅读xml文件。

Gradle像Maven一样遵循约定优于配置的原则,也就是说你的项目只要按照标准约定搭建起来,你只需要做简单的配置就可以构建你的项目了。

Gradle支持现有的Maven仓库,所以你可以很方面地利用Maven上的所有库。

Gradle支持依赖传递,也就是说当A库依赖B库的时候,你只需要引用A库就可以了,Gradle会自动帮你依赖B库。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对小牛知识库的支持。如果你想了解更多相关内容请查看下面相关链接

 类似资料:
  • div.body h3{margin:5px 0px 0px 0px;} 步骤一:预检 在部署 Ceph 存储集群之前,需要对 Ceph 客户端和 Ceph 节点进行一些基本的配置,你也可以加入 Ceph 社区以寻求帮助。 预检 安装 Ceph 部署工具 高级包管理工具(APT) 红帽包管理工具(RPM) Ceph 节点安装 安装 NTP 安装 SSH 服务器 创建部署 Ceph 的用户 允许无密

  • 本文向大家介绍mysql 8.0.19 win10快速安装教程,包括了mysql 8.0.19 win10快速安装教程的使用技巧和注意事项,需要的朋友参考一下 本文教程为大家分享了mysql 8.0.19安装教程,供大家参考,具体内容如下 1.下载.zip安装文件 2.根目录存放my.ini,文件路径用“/”分割,例如: 3.cd到bin,运行mysqld --initialize --conso

  • 环境搭建 创建工程 目录规范 开发调试 页面开发 打包Bundle

  • Yii 提供了一整套用来简化实现 RESTful 风格的 Web Service 服务的 API。 特别是,Yii 支持以下关于 RESTful 风格的 API: 支持 Active Record 类的通用 API 的快速原型; 涉及的响应格式(在默认情况下支持 JSON 和 XML); 支持可选输出字段的定制对象序列化; 适当的格式的数据采集和验证错误; 集合分页,过滤和排序; 支持 HATEO

  • 快速入门 如果CasperJS已经在你的电脑上安装好,你就可以开始编写你的第一个脚本啦!你可以使用原生JavaScript(或PhantomJS2.0之前版本支持的 CoffeeScript)来编写脚本。 提示 如果你还不习惯使用JavaScript,请阅读这个FAQ条目。 最简单的CasperJS脚本 打开你最爱的编辑器,创建一个名为sample.js的文件,写入以下代码: var casper

  • 先介绍下 Hangfire.HttpJob 自身引用的组件 Hangfire.AspNetCore (因为Hangfire.HttpJob是作为Hangfire的插件,Hangfire.AspNetCore是Hangfire的核心组件) Hangfire.Console (Hangfire.Console是Hangfire的Dashbord的一个插件,记录job运行日志的) Hangfire.Ta