本文基于以下版本验证:
| 项目 | 版本 | 下载地址 |
|---|---|---|
| SpringBoot | 2.0.4release | https://github.com/spring-projects/spring-boot |
| SpringFramework | 5.0.8.release | https://github.com/spring-projects/spring-framework |
为什么要编译源码?Spring的源码,注释非常清晰,能够帮助读者理解框架中接口和类的作用,对理解Spring框架非常重要。
由于SpringBoot的源码,采用maven框架,编译比较简单,这里不介绍。重点介绍下SpringFramework源码的编译过程。
一、下载SpringFramework源码


如果下载不下来,可以使用我在码云上提交的版本:https://gitee.com/muziye/spring-framework-5.0.8.git
二、编译源码
2.1 打开源码

发现使用的是gradle4.4.1

2.2 配置gradle
安装idea一般默认已经安装了gradle。注意版本对应:

gradle 4.4.1 的执行程序在
C:\Users\Administrator.gradle\wrapper\dists\gradle-4.4.1-bin\46gopw3g8i1v3zqqx4q949t2x\gradle-4.4.1\bin
建系统环境变量
GRADLE_HOME=C:\Users\Administrator.gradle\wrapper\dists\gradle-4.4.1-bin\46gopw3g8i1v3zqqx4q949t2x\gradle-4.4.1
然后在系统环境变量 Path 的最后添加上 ;%GRADLE_HOME%\bin
注意 别漏了符号 ;
具体操作过程 和添加 JAVA_HOME的过程一样
简略过程如下:
win7 电脑 -》计算机 -》右键属性 -》 环境变量 -》 高级系统设置 -》 环境变量 -》新建系统变量:GRADLE_HOME值为C:\Users\Administrator.gradle\wrapper\dists\gradle-4.4.1-bin\46gopw3g8i1v3zqqx4q949t2x\gradle-4.4.1
-》编辑系统变量Path 在最后面 增加;%GRADLE_HOME%\bin

2.3 验证gradle是否配置成功

2.4 在intellij idea中设置gradle的版本

2.5 注释掉spring-beans
打开spring-beans.gradle,注释掉一下代码:
// This module also builds Kotlin code and the compileKotlin task
// naturally depends on compileJava.
// We need to redefine dependencies to break task cycles.
//compileGroovy.dependsOn = compileGroovy.taskDependencies.values - 'compileJava'
//def deps = compileGroovy.taskDependencies.immutableValues + compileGroovy.taskDependencies.mutableValues
//compileGroovy.dependsOn = deps - 'compileJava'
//compileKotlin.dependsOn(compileGroovy)
//compileKotlin.classpath += files(compileGroovy.destinationDir)
2.6 刷新源码工程


如果整体编译的话,由于缺少部分引用,源码还会报错。不影响阅读,这里就跳过了。
本文详细指导如何下载并编译Spring Framework 5.0.8的源码,包括配置Gradle环境、处理编译依赖及注意事项,适合理解框架内部运作的开发者
2万+

被折叠的 条评论
为什么被折叠?



