下载Spring源码,编译源码
前提
请先确保已经安装过JDK,Gradle,Git
如果不会,自行百度,这个太过基础了
如何下载源码
1.Spring官方github地址
OK,如果你的网比较好,或者有比较好的梯子,那么可以方便的从github上同步spring官方的代码到本地。
你只需要执行一下 git clone git@github.com:spring-projects/spring-framework.git 即可
2.gitee 转 github
如果不幸的是,你的网并不好,无法从github上拉取如此大量的代码,那么有个简单的方法就是从码云上拉github的代码。
具体的玩法见下面的图
- 在码云的右上角点击+号,选择从github导入仓库,这个功能是导入自己或者别人在github/gitlab上的仓库,按箭头步骤来创建即可得到自己的与github同步的代码仓库
- 如果还是不想弄,直接下载我弄到码云上的代码
切换分支
自行通过git 切换到想看源码的分支TAG上去
比如,想看5.2.6.RELEASE版本的代码,只需要
git checkout -b learning v5.2.6.RELEASE
前置处理
国内访问国外的jar包仓库是有点费劲的,所以第一件事就是将依赖源修改一下
找到 build.gradle 文件
搜索 repositories
增加依赖源,我这里加的是阿里的
repositories {
//增加阿里源
maven { name "Alibaba" ; url "https://maven.aliyun.com/repository/public" }
mavenCentral()
maven { url "https://repo.spring.io/libs-spring-framework-build" }
}
如何编译源码
这里补充下,如果你发现下载jar包的存放地址变成了user/.m2 说明你没有把gradle的环境变量配置好,检查你的GRADLE_USER_HOME 环境变量是否配置了,将其指向你的本地仓库地址就好了
接下来打开IDEA,将项目导入
但是这时候项目还是未经过编译的,所以接下来,想编译项目,在IDEA的Terminal窗口里输入
gradlew build
这个会耗时非常非常非常非常长,所以可以单独对项目进行编译
以spring-context为例,编译它,只需要输入
gradlew :spring-context:compileTestJava
编译成功后,会在spring-context/build/libs/ 目录下看到编译好的jar
如何DEBUG源码
- 在Spring源码工程里创建一个Module,并引入工程中
2. 修改自己创建的工程的配置,引入需要DEBUG的模块即可
- 在新工程下直接写自己的代码就可以DEBUG了