目录:
- gradle 安装配置
- grovvy 语法介绍
- gradle 仓库配置
- gradle 配置文件讲解
- gradle 案例:springboot + gradle打war包
- gradle 多项目案例,聚合工程
1. gradle 安装配置
Gradle下载:http://services.gradle.org/distributions/
配置环境变量
命令:gradle -v
创建gradle项目:
2.grovvy 语法介绍
Groovy的简单语法:
//println ("hello groovy")
println "hello groovy"
// 定义变量 grovvy自动根据情况给变量赋予对应的类型
def i = 18
println i
def h = "hello"
println h
// 定义集合
def list = ['a','b']
// 添加元素
list << 'c'
// 取出元素
println list.get(2)
// 定义map
def map = ['key1':"value1",'key2':"value2"]
// 添加元素
map.key3='value3'
println map.get("key3")
Grovvy中的闭包:
// groovy中的闭包 闭包就是代码块,主要当参数使用
def b1 = {
println "hello b1"
}
// 定义方法,方法里需要闭包类型的参数
def method1(Closure closure){
closure()
}
// 调用方法 传入参数
method1(b1)
带参数的闭包:
// 定义带参数闭包
def b2 = {
v ->
println "hello ${v}"
}
def method2(Closure closure){
closure("huaxia")
}
// 调用方法
method2 (b2)
3. gradle 仓库配置
默认的仓库位置:C:\Users\Think\.gradle\caches\modules-2\files-2.1
使用本地的Maven仓库:
找到本地的仓库位置:D:\dev3\_m2\repo
配置环境变量,固定写法:GRADLE_USER_HOME
使用本地仓库:mavenLocal()
/ **
* 指定使用的仓库 mavenCentral()中央仓库
* mavenLocal()先从本地找,如果没有再从中央仓库去找
* /
repositories {
mavenLocal()
mavenCentral()
}
使用远程仓库:
repositories {
maven {
url "http://repo.mycompany.com/maven2"
}
}
4. gradle 配置文件讲解
Gradle配置文件
导入jar包 https://mvnrepository.com
5. gradle 案例:springboot + gradle 打war 包
Springboot使用gradle打war包
springboot官方资料:https://docs.spring.io/spring-boot/docs/current/reference/html/howto-traditional-deployment.html
项目目录结构:
指定war包:
apply plugin: 'war'
添加springboot依赖:
testCompile group: 'org.springframework.boot', name: 'spring-boot-starter-test', version: '2.1.1.RELEASE'
compile group: 'org.springframework.boot', name: 'spring-boot-starter-web', version: '2.1.1.RELEASE'
// 排除SpringBoot内置的tomcat
providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat:2.1.1.RELEASE'
启动类:使用外置的Tomcat启动
启动测试项目:
给项目打包:
1)Gradle使用命令方式打包:
清除命令:gradle clean
C:\git\gradle-demo>gradle clean
BUILD SUCCESSFUL in 1s
1 actionable task: 1 executed
打包命令:
C:\git\gradle-demo>gradle build
> Task :test
2018-12-16 15:13:46.867 INFO 17612 --- [ Thread-5] o.s.s.concurrent.ThreadPoolTaskExecutor : Shutting down ExecutorService 'applicationTaskExecutor'
BUILD SUCCESSFUL in 5s
4 actionable tasks: 4 executed
2)Gradle 使用idea集成插件打包:
war包位置:
测试war包:
7.gradle多项目案例,聚合工程
工程目录结构:
依赖关系:settings.gradle
父模块gradle-parent配置:
子模块gradle-common配置:与父模块相同的地方全部删掉
子模块gradle-api配置:同上与父模块相同的地方全部删掉,只需求引入gradle-common
dependencies {
compile project(":gradle-common")
}
子模块gradle-web配置:需求引入gradle-api
apply plugin: 'war'
dependencies {
compile project(":gradle-api")
// 排除SpringBoot内置的tomcat
providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat:2.1.1.RELEASE'
}
项目结构:
Gradle参考资料:https://gradle.org/docs
spring源码编译:
1. 执行 ./gradlew :spring-oxm:compileTestJava
2. 导入idea编译
3. 等待20分钟,编程成功