面向Java运用为主。当前其支持的措辞C++、Java、Groovy、Kotlin、Scala和Swift,操持未来将支持更多的措辞。
1. 安装1.1. 下载官网:https://gradle.org/
下载地址:https://gradle.org/releases/
下载:binary-only版本
1.2. 配置环境变量GRADLE_HOME=C:\java\gradle-7.4PATH增加%GRADLE_HOME%\bin
验证:
gradle -v
2. 先容[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"