- https://gitee.com/trial-run/gradle
https://gitee.com/kcnf
下载gradle
- https://gradle.org/releases/
- gradle -v



下载jdk
jdk8
下载groovy
- http://www.groovy-lang.org
- groovy-2.5.8
- groovy 和 gradle的关系
类似maven的pom依赖xml语法
案例工具 idea
gradle vs maven
- 在Maven世界中,一个依赖项有6种scope,分别是complie(默认)、provided、runtime、test、system、import。
而grade将其简化为了4种,compile(编译时)、runtime(运行时)、testCompile(测试编译时)、testRuntime(测试运行时)
Gradle支持动态的版本依赖。在版本号后面使用+号的方式可以实现动态的版本管理
gradle-sample项目构建




gradle常用要点
对标maven
- pom 替换为 build.gradle和settings.gradle
复用大佬们的代码 pom和build.gradle,冲击力还是蛮强悍的
~~~
<kaptcha.version>2.3</kaptcha.version>
com.google.code.kaptcha
kaptcha
${kaptcha.version}
jdk15
org.springframework
spring-core
org.springframework
spring-beans
org.springframework
spring-context
junit
junit
~~~
~~~
dependencies {
compile(‘org.springframework:spring-core:2.5.6‘)
compile(‘org.springframework:spring-beans:2.5.6‘)
compile(‘org.springframework:spring-context:2.5.6‘)
compile(‘com.google.code.kaptcha:kaptcha:2.3:jdk15‘)
testCompile(‘junit:junit:4.7‘)
}
~~~
settings.gradle 和 build.gradle
- build.gradle - 文件包含项目构建所使用的脚本
settings.gradle - 文件将包含必要的一些设置
例如 任务或项目之间的依懒关系等
构建脚本概要
- 【gradle-script】
- project 常用
group
name(artifact)
version?项目版本(全局的)
sourceCompatibility = 1.8 ? // source使用的jdk版本?
targetCompatibility = 1.8 ? // 编译时使用的jdk版本或者更新的java虚拟机兼容
compileJava.options.encoding = 'UTF-8'? ? ? ??
compileTestJava.options.encoding = 'UTF-8'
apply 应用插件
dependencies 添加依赖
repositories 添加仓库
task 定义任务
buildscript
allprojects
subprojects
configurations
依赖管理
- 【gradle-sample】

- api/apiElements 与 implementation 的区别
【gradle-module】
发布
- 【gradle-deploy】
- Gradle默认提供maven-publish插件

版本冲突解决
- 排除
- 强制指定一个版本
通过 help -> dependencies 任务可以查询详细的依赖
常用配置更改
- 敏感信息外部配置
- 和maven一样更换本地仓库的位置
- 通过系统环境变量配置
- GRADLE_USER_HOME
- D:\gradle\gradleRepository
- 通过idea中指定
- 本地缓存路径为
- D:\gradle\gradleRepository\caches\modules-2\files-2.1
- 和maven一样指定远程私服
~~~
repositories {
mavenLocal()
maven { url "https://maven.aliyun.com/repository/public" }
maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
jcenter()
}
~~~
- 和maven配置一样profile
和maven一样 父级依赖机制
常用三方插件
- 插件的类型 脚本插件和二进制插件
- 自定义脚本插件 【gradle-script】
二进制插件
~~~
plugins {
id ‘java‘
}
~~~
自动化测试
自定义任务
解决本地maven和gradle同时存在
gradle和maven项目互转
参考
- 参考1
- 许晓斌infoQ论述
- 参考2
- 易百教程
- mybatis-plus
