spring5.3.x源码阅读环境搭建-gradle构建编译
文章目录
- spring5.3.x源码阅读环境搭建-gradle构建编译
-
-
- 一、依赖工具
- 二、下载源码
- 三、开始构建
- 四、编译源码
- 五、源码测试
- 六、问题及解决方案
- 附:spring源代码各个模块作用
- 结语
-
码炫课堂技术交流q群:963060292
Spring系列生态十分丰富,涉及到各个方面。但是作为Spring生态的核心基础Spring,是最重要的环节,需要理解Spring的设计原理,就需要深度研读Spring源码。
本文着重阐述当前最新版spring5.3.x的源码构建过程,由于构建工具采用gradle(spring团队已经抛弃maven构建,全面拥抱gradle了),很多小伙伴不太熟悉gradle,所以构建过程有少许困难。本文将带大家手把手的搭建spring源码阅读环境构建。
一、依赖工具
1、git
拉取源码使用
2、jdk8及以上
一般小伙伴机器上都已经装好了
3、gradle6.5.1
打开 https://services.gradle.org/distributions/ 选择最新版本:gradle-6.5.1-all.zip(all版本是带源码的)
下载解压后目录结构如下:
设置环境变量:
完成后打开cmd,执行
gradle -v
表示已经安装成功,版本为6.5.1
4、idea2020.1.2
(网上很多朋友表示idea2020之前的版本导入时始终有问题,建议升级到2020.1版本,smart哥当前使用的就是2020.1.2版本)
二、下载源码
从官方仓库 https://github.com/spring-projects/spring-framework Fork
出属于自己的仓库。
- 为什么要
Fork
?既然开始阅读、调试源码,我们可能会写一些注释,有了自己的仓库,可以进行自由的提交。 - 本文使用的 Spring 版本为
5.3.x
的master分支代码 (5.3.0-SNAPSHOT)。 - 使用
IntelliJ IDEA
从Fork
出来的仓库拉取代码。因为 Spring 项目比较大,从仓库中拉取代码的时间会比较长。所以我这边是git clone到本地,然后再导入idea中的。
具体过程如下:
1、打开https://github.com/spring-projects/spring-framework,点击右上角Fork即可,这样就把spring仓库fork到自己的仓库中了。
2、选择一个目录,我的是E:\mypro\IdeaProjects,空白处右击Git Bash Here
执行:
git clone https://github.com/smartan123/spring-framework.git
下载到本地
三、开始构建
1、构建之前先安装gradle,因为spring是gradle构建的。
在cmd中进入源码根目录,输入gradlew.bat命令,脚本将自动下载gradle-6.5.1-bin.zip包
(这一步其实也可以省略,可以直接将源码导入idea中)
2、打开IDEA,直接open源码项目
【文件】->【Open】,选择源码根目录,->【ok】
3、打开项目之后,【File】->【Settings】,设置Gradle,Gradle user home这个目录这里我设置的刚安装的gradle目录。如果不设置的话,它默认是C:\Users\ling.gradle,这个目录你就可以认为相当于是我们的本地的maven仓库,gradle编译项目所依赖的jar都会下载后放入这个目录中。jvm默认我这里就是jdk8,jdk至少就是jdk8。
4、设置完毕之后,打开工程下的gradle目录->wrapper目录下的,gradle-wrapper.properties文件。因为gradle每次编译都会从官网下载指定版本(gradle-6.5.1-all.zip),所以我们在它第一次下载完之后,将distributionUrl设置成本地文件,这样就不会每次编译都从官网下载了,如下图:
distributionUrl=file:///e:/dev_env/gradle-6.5.1-all.zip(这里选择gradle的压缩包的全路径地址)
(建议用最新的idea2020版本,最省事,打开后自动