什么是Gradle?

Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建工具。它使用一种基于Groovy的特定领域语言来声明项目设置,而不是传统的XML。Gradle就是工程的管理,帮我们做了依赖、打包、部署、发布、各种渠道的差异管理等工作。

安装Gradle

自行百度

Idea中创建Gradle

安装后记得将自己的Gradle位置告诉Idea,并且在创建项目的时候选择使用本地的Gradle

image20200826144615754.png

因为Gradle是基于Grovvy创建的,因此再学习Gradle之前我们要简单的了解一下Grovvy的语法。

Groovy语法

//Grovvy中可以省略括号和分号
println "我是你爹"
//Grovvy中创建变量
def  i =10
println i
//创建复杂变量
def list=[1,2,3,4]
//向集合中添加一个元素
list << 5
//检测是否成功添加到这个元素
println list
//创建一个map
def map=['key1':'a','key2':'b']
//添加一个元素
map.key3 = 'c'
println map


//Groovy中的闭包
//什么是闭包,闭包其实就是一段代码块,在Gradle中,我们主要是把闭包当作参数传
def b1={
    println "我是你爹"
}
//定义一个用于调用闭包的方法
def method1(Closure closure){
    closure();
}
//执行测试时
method1 (b1)

//定义一个带参数的闭包
def b2={
    it->
        println "hello ${it}"
}

//定义一个调用带参数的闭包的方法
def method2(Closure closure){
    closure("我是你爹")
}

//执行测试
method2 (b2)

Gradle配置

/**
 * 指定Java
 */
plugins {
    id 'java'
}
/**
 * 代表自己项目的标识
 */
group 'com.zzm'
version '1.0-SNAPSHOT'
/**
 * 指定仓库的路径
 * mavenCentral()表示中央仓库,此刻,项目中所需要的jar包都需要从中央仓库下载到本地指定的目录
 */
repositories {
    mavenCentral()
}
/**
 * Gradle项目的所有的依赖都是在这下面放置的
 * 每一个jar包都有三个属性
 * group,name,version
 * testCompile表示的是我们在测试的时候起作用,该属性是jar包的作用域
 * 我们在添加依赖的时候都要加上该属性的作用域
 */
dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.12'
    // https://mvnrepository.com/artifact/org.projectlombok/lombok
    compile group: 'org.projectlombok', name: 'lombok', version: '1.18.12'

}

如果想要添加依赖的话,那么我们就在Maven中央仓库中选择想要下载的依赖,然后选择Gradle即可

image20200826153610769.png

然后复制到dependencies中即可

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.12'
    // https://mvnrepository.com/artifact/org.projectlombok/lombok
    compile group: 'org.projectlombok', name: 'lombok', version: '1.18.12'

}

修改Gradle仓库为本地仓库位置

添加系统环境变量

image20200826155336172.png

变量的值为本地仓库的地址

然后在配置文件中加上

/**
 * 指定仓库的路径
 * mavenCentral()表示中央仓库,此刻,项目中所需要的jar包都需要从中央仓库下载到本地指定的目录
 * 此时这种表示的就是先去本地查,如果没有再去中央仓库下载
 */
repositories {
    mavenLocal()
    mavenCentral()
}

Gradle实现阿里云加速下载

repositories {
    maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
    maven { url 'https://mvnrepository.com/artifact/com.octo.captcha/jcaptcha'}
    mavenCentral()
}

Gradle创建父子工程

和maven的创建方式实一样的,但是如果想使用本项目中模块的依赖的话,那么我们需要

compile project(":你的模块的名称")

Q.E.D.


Hello welcome to my blog