以下源码编译过程是本人按照官方文档实操,并结合国情对一些下载源修改为国内源,如果你是新手建议每一步都安装本教程操作,确保不会出现一些奇葩问题

下载spring源码

建议去码云下载,github下载会比较慢,地址:https://gitee.com/mirrors/Spring-Framework,建议下载标签中的正式版本,我这里下载的是v5.2.0.RELEASE

Spring 源码 更改gradle镜像源 如何修改spring源码_java

仓库修改为阿里云

下载源码并解压后,进入Spring-Framework目录修改build.gradle,需要修改两处:

第一处:

Spring 源码 更改gradle镜像源 如何修改spring源码_maven_02

repositories {
		maven { url 'https://maven.aliyun.com/nexus/content/groups/public' }
		maven { url 'https://maven.aliyun.com/nexus/content/repositories/jcenter' }
	}

第二处:

Spring 源码 更改gradle镜像源 如何修改spring源码_ide_03

maven{ url 'https://maven.aliyun.com/nexus/content/groups/public'}
maven{ url 'https://maven.aliyun.com/nexus/content/repositories/jcenter'}

下载gradle

打开Spring-Framework/gradle/wrapper/gradle-wrapper.properties查看一下gradle版本,下载对应的gradle版本,避免出现各种奇葩问题建议下载对应的版本,,建议去:Index of /gradle/下载,我这里下载的是5.6.2版本

Spring 源码 更改gradle镜像源 如何修改spring源码_intellij-idea_04

下载完成后解压,配置环境变量,配置GRADLE_HOME配置为gradle解压路径,配置path加入%GRADLE_HOME%\bin

Spring 源码 更改gradle镜像源 如何修改spring源码_intellij-idea_05

Spring 源码 更改gradle镜像源 如何修改spring源码_java_06

避免每次编译都会去下载gradle,我们需要修改一下Spring-Framework/gradle/wrapper/gradle-wrapper.properties文件,将gradle地址修改为本地压缩包文件地址,这样就不会每次都去下载浪费时间

Spring 源码 更改gradle镜像源 如何修改spring源码_spring_07

编译源码

官方已经为我们提供了idea编译spring源码的文档,我们打开Spring-Framework/import-into-idea.md,安装文档内容一步一步进行操作

1. Precompile `spring-oxm` with `./gradlew :spring-oxm:compileTestJava`
2. Import into IntelliJ (File -> New -> Project from Existing Sources -> Navigate to directory -> Select build.gradle)
3. When prompted exclude the `spring-aspects` module (or after the import via File-> Project Structure -> Modules)
4. Code away

第一步:预编译spring-oxm

打开命令行,cd进入源码Spring-Framework目录执行gradlew :spring-oxm:compileTestJava,过程需要下载依赖,比较慢耐心等待即可

Spring 源码 更改gradle镜像源 如何修改spring源码_intellij-idea_08

第二步:导入idea

在编译完oxm模块后,我将spring源码导入到idea中,File -> New -> Project from Existing Sources 选择解压的源码目录Spring-Framework,在弹出的窗口中选择gradle,点击finish,导入完成

Spring 源码 更改gradle镜像源 如何修改spring源码_intellij-idea_09

第三步:移除spring-aspects模块 

在spring-aspects工程上右击选择Load/Unload Modules,在弹出窗口中选中spring-aspects,点击Unload,下图我已经unload了所以没有aspects模块

Spring 源码 更改gradle镜像源 如何修改spring源码_java_10

第四步,配置jdk版本

打开File-> Project Structure ,在modules和project中jdk版本一定要一样,不然后面编译会报:Information:java: Errors occurred while compiling module,这个错一般都是jdk版本不一致导致的

Spring 源码 更改gradle镜像源 如何修改spring源码_spring_11

Spring 源码 更改gradle镜像源 如何修改spring源码_intellij-idea_12

第五步 配置gradle,如图所示:

Spring 源码 更改gradle镜像源 如何修改spring源码_spring_13

至此配置完毕,jvm参数建议调整至少 -XX:MaxPermSize=2048m -Xmx2048m -XX:MaxHeapSize=2048m,现在我们只要进行rebuild,等待就行,期间如果出错,如果你是严格按照上述步骤执行,一般都是下载问题,我们只需重新rebuild,编译完成后就可以新建测试工程进行测试,赶快开启你的源码之旅