Spring源码环境-5.2.2.RELEASE版本

前言

该文章不包括Gradle的安装,并且在源码构建过程中需要翻404,否则容易失败。

下载源码

如果下载源码时卡住或失败,需要翻过404,或者参考该文章(推荐):https://www.jianshu.com/p/c72473ad98ed

git clone [email protected]:spring-projects/spring-framework.git

cd spring-framework
git checkout v5.2.2.RELEASE


git switch -c learn/v5.2.2

项目导入

根据spring-framework目录下的 import-into-idea.md 说明进行如下操作:

1. 预编译spring-oxm

注意:该步骤需要翻404,不然大概率失败

gradlew :spring-oxm:compileTestJava

import-into-idea.md 中的说明是使用 ./gradlew :spring-oxm:compileTestJava ,但是发现加上 ./ 会报错。
出现如下图片说明执行成功:

image

2. 导入IDEA

在IDEA中点击File -> New -> Project from Existing Sources 并选择 spring-framework 目录下的 build.gradle
导入后该项目没有设置SDK,需要如下操作:

image

3. 创建一个自己的maven模块

image

导入成功后右下角会提示 Maven projects need to be imported
任选一个即可。
然后在该模块的pom.xml中添加如下依赖(后续需要使用):


  commons-logging
  commons-logging
  1.2

image

每次变更pom.xml都需要在IDEA的 Project Structure 中重新配置依赖(目前没找到更好的解决方法,只能在配置好如下依赖后就不动pom.xml或在配置后重新给该模块添加依赖)

4. 为该Maven项目配置依赖

同样的,点击File -> Project Structure


image

5. 运行自己的代码

image

万事大吉了?怎么可能,又会出现很多报错

6. 解决问题

问题一:

Error:(347, 51) java: 找不到符号
  符号:   变量 CoroutinesUtils
  位置: 类 org.springframework.core.ReactiveAdapterRegistry.CoroutinesRegistrar

问题一解决方法:

image

上面的Gif没把点击的按钮截取进去在这说明下,点击的按钮是
image

然后再次运行代码
image

7.依赖问题解决方法总结

这一次构建Spring源码不知道为什么很顺利,就只遇到这一个依赖问题,在这说明下依赖问题的解决方法:
与上面的解决方法类似,如果遇到A模块报.kt文件找不到,例如 BeanDefinitionDsl.kt 则可以找到 BeanDefinitionDsl.kt 文件所在模块B,打开B模块build -> libs 目录下的 .jar 文件右键点击 Add As Library 并在弹出的窗口中的 Add to module 中选择A.main模块即可。

你可能感兴趣的:(Spring源码环境-5.2.2.RELEASE版本)