本机spring源码运行环境:idea2019.3,JDK1.8,gradle5.63,本文源码环境搭建是使 spring使用已配置好对应环境变量的gradle(大家可根据自己的需要确定是否依赖gradle)
1.spring源码下载
2.下载gradel及在idea中配置gradle
3.源码中settings.gradle, build.gradle修改(配置优先本地仓库,其次阿里云)
1.spring源码下载
spring开源项目,github开源地址 https://github.com/spring-projects/spring-framework/tree/5.1.x
code中downloadZIP下载本地解压即可
2.gradle下载、环境变量配置、idea配置
2.1 gradle下载地址: https://services.gradle.org/distributions/
gradle-xx-bin.zip 安装发布版本
gradle-5.xx-src.zip 源码版本
gradle-5.xx-all.zip 包含所有的
本地安装我下载的gradle-5.6.3-bin.zip
2.2 配置环境变量
将下载的文件解压到相应的文件目录下,我的是 D:\software\gradle-5.6.3-bin\gradle-5.6.3
打开电脑环境变量
新增系统变量 GRADLE_HOME D:\software\gradle-5.6.3-bin\gradle-5.6.3
在系统变量path后面加上 ;%GRADLE_HOMDE%\bin 保存即可
打开CMD中输入命令行 gradle -v或者 gradle -version,出现gradle版本信息,则安装成功
2.3 配置idea中gradle
3 .源码中settings.gradle, build.gradle修改(配置优先本地仓库,其次阿里云)
3.1 打开spring源码
修改 build.gradle文件,设置仓库顺序(本地、阿里云、中央、spring)
buildscript {
repositories {
mavenLocal()
maven { url 'http://maven.aliyun.com/nexus/content/repositories/central/' }
mavenCentral()
maven { url "https://repo.spring.io/plugins-release" }
}
dependencies {
classpath("io.spring.gradle:propdeps-plugin:0.0.9.RELEASE")
classpath("org.asciidoctor:asciidoctorj-pdf:1.5.0-alpha.16")
}
}
大概154行左右增加maven仓库地址
checkstyle {
toolVersion = "8.27"
configDir = rootProject.file("src/checkstyle")
}
repositories {
// 这里是要修改的地方
maven { url "https://maven.aliyun.com/repository/public" }
maven { url "https://maven.aliyun.com/repository/central" }
maven { url "https://maven.aliyun.com/repository/goole" }
maven { url "https://maven.aliyun.com/repository/gradle-plugin" }
maven { url "https://maven.aliyun.com/repository/spring-plugin" }
}
dependencies {
testCompile("junit:junit:4.12") {
exclude group: "org.hamcrest", module: "hamcrest-core"
}
......
}
setting.gradle中首行加入
pluginManagement{
repositories {
maven {
url 'https://maven.aliyun.com/repository/gradle-plugin'
}
maven {
url 'https://maven.aliyun.com/repository/spring-plugin'
}
}
}
3.2 导入项目
过程较长,导入之后,如果出现 could not resolve xxx.jar之类的报错,是找不到对应的jar,可以尝试刷新Reimport试试
3.3 以下说明源码环境基本安装成功了(gradle相关依赖不再报错)
4.编译源码
按 spring-core / spring-oxm / spring-context / spring-beans / spring-aspects / spring-aop 顺序依次编译