一、安装编译工具gradle
Spring源码是通过gradle管理工具进行管理的,而且每个版本对gradle的版本要求是不一样的,此处编译的Spring源码为5.1.x,使用的gradle编译工具的版本为gradle-4.7
1.1、下载地址
https://services.gradle.org/distributions/gradle-4.7-bin.zip
1.2、配置环境变量
将gradle的bin目录对应的路径配置到系统环境变量中,例如:D:\down\gradle-4.7\bin
1.3、测试gradle是否配置成功
打开cmd窗口,输入gradle -v查看gradle的版本,正常输出gradle版本,说明安装配置成功,如下:
二、从Github上下载Spring源码
2.1、下载spring-framework5.1.x源码
下载地址:
https://github.com/spring-projects/spring-framework/tree/5.1.x
2.2 解压后,导入idea
2.3、编译完成,测试是否正确
写个测试类测试模块是否导入正确,在spring-context包的test包下创建两个测试类。如下:
TestConfig类代码如下:
@Configuration
public class TestConfig {
@Bean
public String name() {
return "Hello Spring.";
}
}
TestMain类代码如下:
public class TestMain {
public static void main(String[] args) {
ApplicationContext acx =
new AnnotationConfigApplicationContext(TestConfig.class);
Object name = acx.getBean("name");
System.out.println(name);
}
}
2.3.1 运行,如果有下面错误:
Kotlin: Language version 1.1 is no longer supported; please, use version 1.2 or greater.
解决:
最后build.gradle 文件修改:
再次重新编辑就可以了。
2.3.2 运行报错了,报的是符号找不到,类似于:internal.CustomizerRegistry找不到的异常。
以上就完成了spring源码编译。(亲测,有问题可以讨论)
参考:https://mp.weixin.qq.com/s?__biz=MzI4OTE2NTk1NQ==&mid=2649580209&idx=1&sn=a976ed38bb6f29f9a6aa2da2bdeaeec2&chksm=f42a855dc35d0c4b9637f95b8cde9babaaee0f47e175923c8071dac6f965ceb6a77a9a7fd83a&token=2139939783&lang=zh_CN#rd