面向Java运用为主。
当前其支持的措辞C++、Java、Groovy、Kotlin、Scala和Swift,操持未来将支持更多的措辞。

1. 安装1.1. 下载

官网:https://gradle.org/

下载地址:https://gradle.org/releases/

androidgradlejsp下载项目主动化构建开源对象Gradle Angular

下载:binary-only版本

1.2. 配置环境变量

GRADLE_HOME=C:\java\gradle-7.4PATH增加%GRADLE_HOME%\bin

验证:

gradle -v2. 先容[idea中利用]

idea中利用gradle无需提前配置安装gradle。
创建项目的时候,可以选择gradle插件的位置,多种办法:本地配置的gradle或者wrapper办法等。
把稳gradle的home目录,用于设置本地仓库地址。

gradle项目目录构造:

src main #正式代码 java #java源码 resources #配置文件 webapp #页面元素,例如:js,css,jpg,html,jsp等。
test #测试代码 java #java源码 resources #配置文件
3. Groovy的语法大略先容

Idea中利用groovy编辑器:Tools | groovy console打开。

groovy先容

//groovy先容println("你好");//groovy可以省略末端分号,也可以省略括号println "hello"

定义变量,def为弱类型

//定义变量,def为弱类型def i = 10println i

凑集

//凑集def list = ['a', 'b']list << 'c' //添加元素println list.get(2)//取第三个元素

Map定义

//Map定义def map = ['name': 'zhangsan', 'age': 18]map.birth = '2012'//添加println map.get('birth')//获取

闭包:实在便是一段代码块。
gradle中紧张把闭包当参数利用。

//闭包:实在便是一段代码块。
gradle中紧张把闭包当参数利用。
//定义闭包def b1 = { println 'hello b1'}//定义一个方法,吸收闭包类型参数def funb1(Closure closure) { closure()}//调用方法,实行闭包funb1 b1//定义带参数闭包def b2 = { v -> println "hello b2-${v}"}def funb2(Closure closure) { closure("nomax")}funb2 b2
4. gradle文件配置先容

gradle user home目录:gradle的用户家目录,所有的初始化,缓存,依赖包等放置该目录中。

配置文件:File | Settings | Build, Execution, Deployment | Build Tools | Gradle

配置gradle的仓库利用maven的仓库:

先选择maven本地仓库地址,例如:C:\java\apache-maven-3.6.3\repository在环境变量中配置:GRADLE_USER_HOME值为maven本地仓库地址。

/ 插件配置 /plugins { id 'java'}group 'org.example'version '1.0-SNAPSHOT'/ 仓库的配置:jar包检索顺序按照先后进行,如果不存在,则向下找。
mavenLocal:标识从本地仓库探求jar包,配置GRADLE_USER_HOME环境变量。
mavenCentral:标识利用的是中心仓库,此时项目中的利用jar包会从中心仓库下载到本地指定目录[gradle user home]。
/repositories { mavenLocal() mavenCentral()}/ gradle工程的依赖管理 依赖jar部分:group,name,version三部分 testCompile:代表jar包在测试环境中起浸染,标识jar的浸染域。
/dependencies { testCompile group: 'junit', name: 'junit', version: '4.12' implementation 'cn.hutool:hutool-http:5.7.22'}

gradle命令:

Tasks-build:构建干系的命令。

jar:打jar包,jar包构建目录:build-libs

dependencies引入jar的浸染域先容:

implementation: 对付利用了该部分的编译有效,当前项目有效,其他项目如依赖当前项目,其他项目访问利用时无效,即对当前有效,对外部无效。
api: 比较implementation,该办法不进行隔离。
compile(已经被废弃):日常编译和打包时有效。
testCompile: 单元测试代码和打包测试时有效。
debugCompile: debug模式编译和debug打包时有效。
releaseCompile: release模式编译和打包时有效。

根据详细官方文档查阅其浸染。

5. gradle创建web工程

目录(增加的文件目录):

src/main/webapp/WEB-INF/web.xml文件

build.gradle

/ 插件配置 /plugins { id 'java' id 'war' //打war包}6. gradle多模块工程

父工程:new - project

settings.gradle:

通过include包含了子模块的工程。

build.gradle:

allprojects {}子模块工程则可以共用。

插件办法必须利用:apply plugin: "java"

子模块:new - module

build.gradle:

模块自用内容进行配置,共用内容无需配置。

引用其他模块:dependencies中利用:complie project(":模块名称")

插件办法必须利用:apply plugin: "war"