spring 源码搭建
这是不坚持写博客写的第7篇博客,搭建spring5源码运行环境
idea版本:
第一步:
拉取5.1.x版本代码到本地,官方的,中文注释的都可以
第二步:
因为spring源码使用gradle构建,在如下文件中确定版本
目的:
(1)下载对应版本安装配置环境变量 使用gradle-4.10.3-bin.zip即可
(2)下载gradle-4.10.3-all.zip ,distributionUrl配置成路径地址,后面有解释
https://services.gradle.org/distributions
第三步:
操作:
(1)添加国内仓库镜像地址
(2)执行:gradle.bat
目的:未知
效果:
(1)弹出执行弹窗,结束后退出
(2)项目下生成.gradle目录及文件,buildSrc中也生成部分文件
第四步:
为第五步的命令行编译做准备
安装gradle:(已有可忽略)
(1)检查环境变量配置
(2)配置GRADLE_HOME,效果:命令行起效果
(3)配置USER_GRADLE_HOME, 配置gradle仓库路径
第五步:
操作
(1) 为减少build时间,可以提前下载好spring源码构建需要的依赖到gradle仓库中
(2) 执行 :gradlew :spring-oxm:compileTestJava
目的:预编译,为什么预编译该模块-未知
效果:
(1)spring-oxm模块目录下生成gradle对应文件,下载了对应的依赖
第六步:
配置idea的gradle
第七步
操作:
导入idea - 不清楚这个过程具体经历了什么,比较耗时
第八步
idea中构建
提高编译效率措施
(1)gradle-wrapper.properties中修改 distributionUrl 为本地路径
目的:因为每次编译会官网下载,所以配置为本地【摘自网络,不太确定】
(2)配置国内仓库地址,编译oxm模块已经提及
编译基础模块
编译 基础core 和oxm 模块即可 满足 容器创建的测试?【本人未测试】
编译所有模块
右侧Gradle目录,出现如下结构,执行 Tasks->build->build
第九步
修改spring -context模块,如下配置
目的:因为直接执行测试会出现 找不到符号符号: 类 InstrumentationSavingAgent 【摘自网上方法:https://zhuanlan.zhihu.com/p/499222393】
运行测试效果
(1)已进入refresh()容器创建代码
步骤有疑惑处可加微信:wxbofands
没看懂,想骂xx了,去留言吧!让它承接你所有的不满