手把手教你深入剖析Spring源码:详尽教程与实战踩坑指南及解决方案
编译Spring源码
首先安装jdk,idea,maven并做好相应配置
在进行spring源码下载编译的时候,不推荐大家直接去搜博客,因为spring不同版本,所对应的编译方法也是不同的,所以博客也是参差不齐的,我们应以官方文档为准,这里提供给大家官网步骤的链接:https://github.com/spring-projects/spring-framework/blob/master/import-into-idea.md,如果看了之后不明白,可以参考我下面的步骤来,亲测有效!
编译步骤
一、提供源码版本链接:https://github.com/spring-projects/spring-framework/tree/v5.2.0.RELEASE
二、然后我们将这个版本的压缩包下载下来,然后将其解压
三、进入到文件夹,打开build.gradle文件,在其添加阿里云镜像,以便在编译的时候能更快的下载依赖
1、配置gradle本身依赖下载途径
repositories{
maven{ url 'https://maven.aliyun.com/nexus/content/groups/public/'}
maven{ url 'https://maven.aliyun.com/nexus/content/repositories/jcenter'}
}
2、配置项目依赖下载途径
在上图所示的配置下找到下图的位置,然后添加阿里云镜像
四、在spring源码文件下执行如下指令
./gradlew :spring-oxm:compileTestJava
在执行这个命令的时候,真是什么错误情况都可能出啊!经常就是我们网络不稳的情况导致下载不下来,我就这样重复了好多次,花了一下午的时间。当你们在进行到这步操作的时候,如果出现下载不下来或者连接超时的情况,尝试多重复几次,或者换个网络试试,ps:我就是换了自己的手机流量,不用学校的lj校园网哈哈!
接下来这个错误跟大家说一下:
如果出现了上图所示的错误,不要担心,不能解压这个文件的原因就是我们在下载的时候没有把它完全下载下来,导致gradle压缩文件损坏造成的。遇到这种情况我们可以去gradle官网去下载相对应的版本,然后将下载好的压缩包替换掉原先的路径即可。做完这些准备之后再执行一遍:gradlew :spring-oxm:compileTestJava
指令,就会得到解决。
五、接下来将spring源码导入到idea当中
导入之后,gradle开始引入各种jar包,我们耐心等待。如果下载完成之后,在控制台发生了一些错误,显示某些jar没有下载下来,可以通过这个链接里的指导进行手动下载jar包
链接:https://www.jianshu.com/p/5c475b95a819
控制台出现上图所示,代表导入idea成功!
六、将spring-aspects模块排除出去
因为spring-aspects模块在编译时是依赖ajc编译器的,如果不移除的话,它里面的类是会爆红的!
总结:
到此为止,我们的spring源码编译就成功了!接下来我们就开始读spring的源码,理解其中的奥妙吧!!!