此次编译使用的gradel版本是5.6.3,安装配置好环境变量。
此次编译使用的是1.8.0_101,安装好后也配置好环境变量;
本次编译的是spring的5.2.2版本。
Spring源码下载:https://github.com/spring-projects/spring-framework
下载完spring源码后找到spring目录下的build.gradle文件将里面的地址:
repositories {
mavenCentral()
maven { url "https://repo.spring.io/libs-spring-framework-build" }
}
替换成
repositories {
maven { name "Alibaba" ; url "https://maven.aliyun.com/repository/public" }
maven { name "Bstek" ; url "https://nexus.bsdn.org/content/groups/public" }
mavenCentral()
maven { url "https://repo.spring.io/libs-spring-framework-build" }
}
在spring目录才打开命令窗口;执行“gradlew.bat build”命令即可开始编译,但是这个过程中会有一个test过程,非常耗时,所以可以跳过测试。执行命令"gradlew.bat build -x test"
当看到上面这段话,恭喜你spring构建完成。
打开idea选择(file>new>Project from Existing Sources)选择spring源码根目录下的`build.gradle‘
导入完成后,idea自动编译一次。
当看到successful表示编译完成。
注意:
1、进入setting中配置gradel配置;
2、进入project structure中配置jdk:
1、首先要编译spring-core,在gradel操作栏中找到compileTestJava执行;
2、在编译spring-context,在gradel操作栏中找到compileTestJava执行;
待编译完成后,就可以开始spring源码探索之旅了。
1、当在spring源码中新建一个demo项目时,一切准备完成准备run起来可能会遇到第一个错误:
Error:(354, 51) java: 找不到符号
符号: 变量 CoroutinesUtils
位置: 类 org.springframework.core.ReactiveAdapterRegistry.CoroutinesRegistrar
这个问题是因为一个kotlin中jar依赖问题,解决方法如下:
1、打开project structure,选择library,添加一个依赖;
选择kotlin-coroutines-5.2.2.BUILD-SNAPSHOT.jar,路径如下;
2、还有可能遇到第二个问题:
Error:(26, 38) java: 找不到符号
符号: 类 InstrumentationSavingAgent
位置: 程序包 org.springframework.instrument
这个问题需要找到spring-context包下的gradel配置文件,
找到:
optional(project(":spring-instrument"))
将前面的optional修改成compile即可。