搭建Spring的源码环境
搭建Spring的源码环境,包括以下几个步骤:
1.从Spring官网一步步找到Spring源码在github上的位置,并拉取Spring源码
2.安装和配置Gradle,用于构建Spring的源码
3.将Spring源码导入到IDEA中,IDEA结合Gradle来构建Spring的源码
从github拉取Spring的源码
好了,在开始源码分析前,我们先搭建下Spring的源码环境,Spring源码目前是在github上托管的,我们通过链接:https://spring.io/projects/spring-framework,到spring官网看一下:
通过点击图片右上角的猫头图标,我们可以定位到spring源码在github上的位置:
Spring源码默认是位于main分支上的,本次专栏采用的是v5.2.6.RELEASE这个版本的代码,所以,大家可以先切换到分支5.2.x:
然后基于分支5.2.x再切换到v5.2.6.RELEASE这个tag上:
然后,我们可以下载这个tag下对应的Spring源码ZIP包:
或者,大家可以像我一样,直接在本地的git上拉取spring的源码:
git的搭建这里就不赘述了,大家可以网上找些资料,不过,由于Spring源码是在国外,下载的速度可能会慢一点。
当我们成功从github拉取源码到本地之后,再通过checkout命令,切换到v5.2.6.RELEASE这个tag中:
到现在为止,Spring源码我们已经准备好了,但是,因为Spring源码的构建并不是通过Maven来构建的,而是在国外比较受欢迎的Gradle,所以,接下来我们还得要在本地安装一下Gradle以便构建Spring源码。
Gradle的下载和环境配置
我们可以通过链接 https://gradle.org/releases/ ,到Gradle官网看下:
我们选择下载v6.5这个版本,然后在解压到本地目录中:
然后,我们还需要在电脑中配置下Gradle的环境变量,并将Gradle的bin目录添加到Path路径中:
接着,我们打开命令窗口,输入命令“gradle -version”再回车,如果看到如下图一样的Gradle版本信息,就说明Gradle在本地安装成功了:
将Spring源码导入IDEA中
接下来,我们可以准备将下载好的Spring源码导入IDEA中了,导入IDEA之前,我们需要修改一下Spring源码中,关于构建Gradle的一些配置,方便后续Spring源码的构建。
我们在spring-framework源码目录下,可以找到gradle.properties、settings.gradle和build.gradle这三个配置文件,我们需要调整下这些配置的参数,方便Gradle编译Spring源码。
其中,gradle.properties配置文件调整后如下:
version=5.2.6.RELEASE
## Gradle编译时,会下载很多东西,占用内存较大,建议适当调大点
org.gradle.jvmargs=-Xmx2048M
## 开启Gradle的缓存
org.gradle.caching=true
## 开启Gradle并行编译
org.gradle.parallel=true
## 开启Gradle守护进程模式
org.gradle.daemon=true
而在settings.gradle配置文件中的repositories配置项,需要再添加阿里云的仓库地址:
maven { url "https://maven.aliyun.com/repository/public" }
这样可以加快Gradle构建Spring源码的速度:
而在build.gradle配置文件中的repositores配置项中,也需要添加阿里云仓库的配置:
maven { url 'https://maven.aliyun.com/nexus/content/groups/public/' } maven { url 'https://maven.aliyun.com/nexus/content/repositories/jcenter'}
同时,我们需要注释以下的配置,因为在Gradle构建v5.2.6.RELEASE版本的Spring源码时,相应的jar包可能下载不到了,如果不注释掉的话可能会导致Gradle构建失败,这个坑大家需要注意下:
最后,我们只需要将spring源码导入到IDEA中即可,Gradle默认就会启动后台的进程来构建Spring源码了,如下图所示:
问题
https://www.modb.pro/db/461017
https://zhuanlan.zhihu.com/p/315023187
https://blog.csdn.net/qq_41228145/article/details/127465413
总结
好了,今天的知识点,我们就讲到这里了,我们来总结一下吧。
这一节主要就是带大家搭建了Spring的源码环境,包括从github上拉取Spring源码、下载和配置Gradle、调整Spring源码中的Gradle配置,最终将Spring源码导入到IDEA中。
从下一节开始,我们就开始着手准备Spring源码的分析了。