1.spring 源码编译使用的工具及版本
- idea 2020.3.4
- jdk 1.8.0_141
- gradle 7.3
- spring-framework-5.3.x
2.从 spring 源码配置文件中,确定 gradle 的版本号(此处我直接下载的 gradle 最新版 )
3.spring 源码下载
- 从 github 下载spring 源码 选择目前最新分支 5.3.X,下载完成后解压。
4.安装 gradle (gradle 详细安装配置可自行 百度/Google)
-
gradle 官网下载
-
在环境变量中配置 gradle,cmd 打开黑窗口 输入 gradle -v 命令验证配置是否成功
-
在 idea 配置 gradle 本地仓库
- 配置 阿里镜像
在 C:\Users{用户名}.gradle 路径下创建文件 init.gradle,并添加如下内容def repoConfig = { all { ArtifactRepository repo -> if (repo instanceof MavenArtifactRepository) { def url = repo.url.toString() if (url.contains('repo1.maven.org/maven2') || url.contains('jcenter.bintray.com')) { println "gradle init: (${repo.name}: ${repo.url}) removed" remove repo } } } // maven { url 'http://mirrors.cloud.tencent.com/nexus/repository/maven-public/' } maven { url 'https://maven.aliyun.com/repository/central' } maven { url 'https://maven.aliyun.com/repository/jcenter' } maven { url 'https://maven.aliyun.com/repository/google' } maven { url 'https://maven.aliyun.com/repository/gradle-plugin' } } allprojects { buildscript { repositories repoConfig } repositories repoConfig }
5.导入项目到 idea,等待相关依赖下载
6.以下错误不影响项目的编译,若有强迫症,可以将项目 push 到 码云中,再 pull,然后 build 项目,可以解决以下报错(报错可能是与 .git 文件夹有关,也可以尝试替换项目中原有的 .git 文件夹)
- not a git repository (or any of the parent directories): .git
- process 'command 'git'' finished with non-zero exit value 128
- fatal: Needed a single revision
7.编译 spring-oxm、spring-core(双击 compileTestJava)
8.编译 spring(双击 build)
9.在项目中新建自己的模块
10.添加依赖 implementation project(':spring-context')
,并重新 build 整个项目
- 网上许多文章是说使用 compile 引入其他模块,
compile(project(':spring-context'))
该方式会报错:Could not find method compile() for arguments [project ':spring-context']
可能是与使用的 gradle 的版本有关