1. 获取spring-framework源码
地址:spring-projects/spring-framework: Spring Framework (github.com)
目前看到最新的Tag是v5.3.10。
可以直接将最新代码clone到本地,如果想在代码做一些注释,也可以Fork到自己的仓库。本文采用Fork的方式,并添加了测试module。
2. 导入到IDEA
项目的wiki中给出了导入到 Eclipse 和 IntelliJ IDEA的方式:Ensure JDK 17 is configured properly in the IDE. Follow instructions for Eclipse and IntelliJ IDEA.
要求安装 JDK17,根据自己的需求选择导入到 Eclipse 或 IntelliJ IDEA。对应的文档在下载的代码根目录也有,分别为import-into-eclipse.md和import-into-idea.md。本文为IDEA方式。
2.1 预编译spring-oxm
在代码目录打开cmd,输入命令gradlew :spring-oxm:compileTestJava(windows系统无需输入“./”),开始编译。
若出现如下错误,需检查JAVA_HOME是否已正确配置了JDK17:
若未安装配置gradle,会自动下载安装。默认情况下,下载的包会存放在C:\Users\用户名\.gradle文件夹下。若C盘空间比较紧张想放到别的目录,可以配置一下名为GRADLE_USER_HOME的环境变量,将其值设置为新的目录。gradle的安装配置和maven类似,如果自己安装最好按照源码中的版本。
可以查看spring-framework\gradle\wrapper文件夹下的gradle-wrapper.properties文件中的distributionUrl的配置,例如目前代码采用的Gradle版本为7.2.
distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists
等待编译完成即可,最终结果类似如下情况。
连接Github经常出现网络问题,若出现错误重新执行这个命令几次。
2.2 导入到Idea
依次点击菜单File->New->Project From Existing sources,出现如下对话框
选择Gradle,提示信任此项目,选择Trust Project
点击下图箭头所示的Reload All Gradle Projects
可以在Idea的Build日志中看到如下输出
第一次会下载很多依赖包,比较慢,慢慢等待。网上有说用阿里云Maven服务的,会快一些。但有时候个别包下载失败,不着急就慢慢等吧。直至Build完成,如果中途失败可以多试几次。