目录:

  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内置的tomcatprovidedRuntime '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分钟,编程成功

gradle 配置私服: build.gradle

repositories {
    maven {
        credentials {
            username 'admin'
            password 'admin123'
        }
        url 'http://10.20.210.200:8081/nexus/content/groups/public' }
}

Gradle教程 Spring源码编译相关推荐

  1. spring源码编译

    目录 1.spring源码编译 1.1 准备工作 1.2 构建工具准备 1.3 修改build.gradle 1.4 编译工作 1.5 导入项目到idea中 1.spring源码编译 1.1 准备工作 ...

  2. Spring源码编译测试

    Spring源码编译(以5.3.22版本为例) 参考作者:程序员七哥 https://www.bilibili.com/read/cv11704879/ 出处:bilibili 本项目环境版本介绍: ...

  3. Spring源码编译报错那些事

    Spring源码编译报错那些事(不会吧不会吧,不会真的有人刚学习源码就被劝退了吧

  4. spring源码编译之gradle环境搭建(编译spring源码真的脑阔疼)

    官网 Gradle | Installation Gradle Distributions 下载 配置环境变量: GRADLE_HOME:D:\software\gradle-6.0.1-all\gr ...

  5. Spring源码编译教程(自己复习) 作者 周瑜

    1.Spring底层核心原理解析 作者:周瑜 笔记在线更新版:0_0 牛逼的Spring · 语雀 本节课会把Spring中核心知识点都给大家进行串讲,让大家对Spring的底层有一个整体的大致了解, ...

  6. spring源码编译和导入eclipse

    1.下载源码并解压 https://github.com/spring-projects/spring-framework/tree/v3.2.5.RELEASE 2.源码编译 cmd进入spring ...

  7. Spring源码系列(十三)——Spring源码编译及详细注解

    文章目录 1. 环境搭建 2. 代码编译 2.1 编译代码 2.1.1 build.gradle 2.1.1.1 第一处 2.1.1.2 第二处 2.1.2 gradle.properties 2.1 ...

  8. spring源码编译导入eclipse

    由于想更深入的学习下spring,于是下载了spring的源码编译之后导入eclipse.这其中出现了一些问题,虽然最后 工程能够build成功,但是这些问题仍然没有解决. 首先说说自己的一些比较蠢的 ...

  9. 1.Gradle安装 Spring源码下载(MAC, IDEA)

    前言:作为一个从业两年多的小菜鸟,每天都在面对spring,却从来没有编译过spring源码,没有深入的看过源码 ,感觉有点不太合适.最近突发奇想想研究一下spring源码,那么先从搭环境开始吧 ,此 ...

最新文章

  1. 功率半导体碳化硅(SiC)技术
  2. 下列属于PHP的数据类型的是,中国大学MOOC: 下列不属于PHP数据类型的是( )。...
  3. iqoo升级鸿蒙,vivo iQOO 3升级更新PD1955_A_1.12.27固件rom全量刷机包
  4. C++ error LNK2019: 无法解析的外部符号 错误解决方案
  5. MFC实现获取鼠标位置的小程序
  6. 迪普工业以太网交换机产品线
  7. frac函数_20个能够有效提高 Pandas数据分析效率的常用函数,附带解释和例子
  8. 11-Docker Bridge详解
  9. 为导入的项目更改cvs用户名
  10. Google 要在游戏世界里训练 AI 了!
  11. [Django]我的第一个网页,报错啦~(自己实现过程中遇到问题以及解决办法)
  12. STM32库函数: GPIO部分代码细究1
  13. 定义一个list对象数组 java_javascript定义一个list
  14. SuperSocket服务器架设(一):认识SuperSocket
  15. 启动虚拟机报错:无法获取 vmci 驱动程序版本句柄无效解决方法
  16. 计算机应用基础——计算机硬件(一)
  17. 18.通过按键切换LED颜色
  18. python代码变量作业_1作业python数据类型 条件循环 列表
  19. 机器学习实验室讲座 总结报告
  20. 领域泛化文献综述阅读笔记

热门文章

  1. JDBC 连接数据库的四种方式
  2. chrome os简介
  3. 中职组网络安全关于体验C模块
  4. R语言dplyr包的select函数和everthing函数筛选dataframe中的所有数据列(all columns of the dataframe)
  5. 2018.11.28——DBSCAN用于聚类、异常点检测
  6. HTML--嵌套列表的使用(一)
  7. 线性代数笔记-3Blue1Brown:(一)
  8. C++入门算法1——dp(动态规划)
  9. 问道打开时显示连接服务器失败怎么办,荒野行动连接不上服务器怎么办 服务器连接失败解决-游侠手游...
  10. 前端布局 Flex(弹性)布局