Gradle教程 Spring源码编译
目录:
- 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内置的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源码编译相关推荐
- spring源码编译
目录 1.spring源码编译 1.1 准备工作 1.2 构建工具准备 1.3 修改build.gradle 1.4 编译工作 1.5 导入项目到idea中 1.spring源码编译 1.1 准备工作 ...
- Spring源码编译测试
Spring源码编译(以5.3.22版本为例) 参考作者:程序员七哥 https://www.bilibili.com/read/cv11704879/ 出处:bilibili 本项目环境版本介绍: ...
- Spring源码编译报错那些事
Spring源码编译报错那些事(不会吧不会吧,不会真的有人刚学习源码就被劝退了吧
- spring源码编译之gradle环境搭建(编译spring源码真的脑阔疼)
官网 Gradle | Installation Gradle Distributions 下载 配置环境变量: GRADLE_HOME:D:\software\gradle-6.0.1-all\gr ...
- Spring源码编译教程(自己复习) 作者 周瑜
1.Spring底层核心原理解析 作者:周瑜 笔记在线更新版:0_0 牛逼的Spring · 语雀 本节课会把Spring中核心知识点都给大家进行串讲,让大家对Spring的底层有一个整体的大致了解, ...
- spring源码编译和导入eclipse
1.下载源码并解压 https://github.com/spring-projects/spring-framework/tree/v3.2.5.RELEASE 2.源码编译 cmd进入spring ...
- 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 ...
- spring源码编译导入eclipse
由于想更深入的学习下spring,于是下载了spring的源码编译之后导入eclipse.这其中出现了一些问题,虽然最后 工程能够build成功,但是这些问题仍然没有解决. 首先说说自己的一些比较蠢的 ...
- 1.Gradle安装 Spring源码下载(MAC, IDEA)
前言:作为一个从业两年多的小菜鸟,每天都在面对spring,却从来没有编译过spring源码,没有深入的看过源码 ,感觉有点不太合适.最近突发奇想想研究一下spring源码,那么先从搭环境开始吧 ,此 ...
最新文章
- 功率半导体碳化硅(SiC)技术
- 下列属于PHP的数据类型的是,中国大学MOOC: 下列不属于PHP数据类型的是( )。...
- iqoo升级鸿蒙,vivo iQOO 3升级更新PD1955_A_1.12.27固件rom全量刷机包
- C++ error LNK2019: 无法解析的外部符号 错误解决方案
- MFC实现获取鼠标位置的小程序
- 迪普工业以太网交换机产品线
- frac函数_20个能够有效提高 Pandas数据分析效率的常用函数,附带解释和例子
- 11-Docker Bridge详解
- 为导入的项目更改cvs用户名
- Google 要在游戏世界里训练 AI 了!
- [Django]我的第一个网页,报错啦~(自己实现过程中遇到问题以及解决办法)
- STM32库函数: GPIO部分代码细究1
- 定义一个list对象数组 java_javascript定义一个list
- SuperSocket服务器架设(一):认识SuperSocket
- 启动虚拟机报错:无法获取 vmci 驱动程序版本句柄无效解决方法
- 计算机应用基础——计算机硬件(一)
- 18.通过按键切换LED颜色
- python代码变量作业_1作业python数据类型 条件循环 列表
- 机器学习实验室讲座 总结报告
- 领域泛化文献综述阅读笔记
热门文章
- JDBC 连接数据库的四种方式
- chrome os简介
- 中职组网络安全关于体验C模块
- R语言dplyr包的select函数和everthing函数筛选dataframe中的所有数据列(all columns of the dataframe)
- 2018.11.28——DBSCAN用于聚类、异常点检测
- HTML--嵌套列表的使用(一)
- 线性代数笔记-3Blue1Brown:(一)
- C++入门算法1——dp(动态规划)
- 问道打开时显示连接服务器失败怎么办,荒野行动连接不上服务器怎么办 服务器连接失败解决-游侠手游...
- 前端布局 Flex(弹性)布局