一、gradle 安装配置
gradle
一、gradle 安装 windows 安装
1、gradle 安装包说明
下载 gradle 解压 如下图

在bin目录下 有一个gradle.bat 是一个构建命令

caches 是缓存

其他目录是它自身 运行所需要的包
2、配置环境变量


验证

3、idea 创建一个 gradle项目
配置 gradle 的仓库位置
下图:use gradle home(gradle工具的路径)?

?gradle 仓库的位置

gradle实现离线仓库还可以调用maven的离线仓库。
? ? 1、配置build.grale
repositories { ? ? mavenLocal() //直接使用本地maven仓库 ? ? maven { url "http://maven.aliyun.com/nexus/content/groups/public" } } ? ? 2、使用mavenLocal() 时Gradle默认会按以下顺序去查找本地的maven仓库:${USER_HOME}/.m2/settings.xml >> M2_HOME/conf/settings.xml >> ${USER_HOME}/.m2/repository。注意,环境变量要加入M2_HOME, 我们配环境时很多时候都是使用MAVEN_HOME或者直接在path中输入bin路径了,导致mavenLocal无法生效。
? ? 3、如果本地没有相关jar包,gradle会下载到${USER_HOME}/.gradle文件夹下,若想让gradle下载到指定文件夹,配置GRADLE_USER_HOME环境变量 ———————————————— 版权声明:本文为CSDN博主「紫雪群飘」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/u011990675/article/details/102737327
?为什么gradle仓库直接移动会不能使用?不像maven离线仓库一样复制到其他电脑照样支持 ? ? 查看caches\modules-2\metadata-2.69路径下的resource-at-url.bin和module-artifacts.bin文件发现,其中明显带有绝对路径,迁移到其他电脑路径修改导致不能访问,具体行不行各位可以自行测试,欢迎反馈。 ———————————————— 版权声明:本文为CSDN博主「紫雪群飘」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/u011990675/article/details/102737327
创建项目


把名字改一下 之前创建的时候写错了 将com.lf.grovvytest 改成grovvytest

?项目目录介绍:main /java 放置源码
grovvytest/src/main/resources 放置正式配置文件
test /下面放置单元测试代码
grovvytest/src/test/resources 放置测试配置文件

二、groovy 语言学习
?groovy ?语言编辑器


?groovy 他和 Java 很像
第一句代码 输出? ?“hello groovy”
println("hello groovy"); 末尾分号 可以省略? 括号也可以省略

?
?
//groovy 如何定义变量
//def 是弱类型的 groovy 会根据变量来赋予对应类型
def i = 18
println i
def s = "小明"
println s
//复杂类型的定义 如定义集合类型
def list = ['a','b']
//向list集合中添加 元素 c
list << 'c'
//去除list中第三个元素
println list.get(2)

//定义一个map
def map =["key1":'value1',"key2":'value2']
//向map中添加 键值对
map.key3 = "value3"
println map.get('key3')

//groovy 中的闭包
//什么是闭包 闭包本质就是一段代码块,在gradle中 我们主要是吧闭包当参数来用
//定义一个闭包
def b1 = {
println 'hello b1'
}
//定义一个方法 方法里面需要一个闭包类型的参数
//输入Closure 千万不要导包 任何包都不行 不然会报错
def method1(Closure closure){
closure()
}
//调用方法 method1
method1(b1)

//写一个带有参数的闭包
def b2 = {
v -> // 定义变量 v 使用 ->
println "hello ${v}"//$ {v} 取变量 v的值 ,这是要使用双引号了
}
def method2(Closure closure){
closure("传参数")
}
//调用方法 method2
method2(b2)

三、geadle 配置文件介绍
?geadle ( 谐音:割喽斗)

?上图:jar 打jar包
jar打印位置如下图

Windows系统默认下载到:C:\Users(用户名).gradle\caches\modules-2\files-2.1
如何将 仓库配置成本地maven 环境测仓库,以后他就会从本地maven库查找jar包了
1、先配置本地maven仓库的环境变量

plugins {//插件
id 'java'
}
//这个是创建项目的时候写的坐标
group 'org.example'
version '1.0-SNAPSHOT'
sourceCompatibility = 1.8//使用的jdk版本1.8
//指定仓库的路径
repositories {
mavenLocal()//先从本地仓库找 如果没有再从中央仓库下载
mavenCentral()//表示使用中央仓库 此刻项目中所需要的jar包都会从中央仓库下载到本地指定目录。如果只配置中央仓库表示直接从中央仓库下载
//如果指定下载位置已经有了 就不会再次下载
}
/**
* gradle 工程的所有java包都在dependencies 这里放置的
* 每一个jar包的坐标 都有三个基本元素组成
* group 坐标
* name 名字
* version 版本号
*
* testCompile 表示该 jar包在测试的时候起作用,该属性为jar包的作用域
* 我们在gradle 里面添加坐标的时候都要带上jar包的作用域
*/
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.12'
// https://mvnrepository.com/artifact/org.springframework/spring-context
implementation group: 'org.springframework', name: 'spring-context', version: '5.0.20.RELEASE'
}
如何选择坐标:直接百度搜 meavn中央仓库
选择 gradle

?implementation和compile的区别
结论:implementation不可以传递依赖,但是compile可以传递依赖。
因此使用compile会使得module之间的耦合性增大,目前android stuidio推荐使用implementation。
当改变mudule间的依赖时,android studio自动会使用implementation而不是使用compile。假如这个时候出现了import错误,考虑是不是原有的模块之间的依赖存在传递,而现在使用implementation传递就失败了。我们可以选择使用compile替代,当然也可以改变module之间的依赖关系。 ———————————————— 版权声明:本文为CSDN博主「xuwm3」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/weixin_36316171/article/details/82218714
其他高级知识 未完待续 ......
|