Gradle教程 && Spring源码编译

目录:

  1. gradle 安装配置
  2. grovvy 语法介绍
  3. gradle 仓库配置
  4. gradle 配置文件讲解
  5. gradle 案例:springboot + gradle打war包
  6. 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分钟,编程成功

 

 

 

发布了43 篇原创文章 · 获赞 32 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/yz2015/article/details/85045481