编译Spring源码省心小贴士 主要参考文档 必要操作 提速优化建议 定位“个性化”问题 构建成功标志 运行debug遇到常见错误

国外:

国内:

必要操作

如果导入 Idea,需要在 Spring-Framework 根目录下执行以下脚本:

gradlew :spring-oxm:compileTestJava

spring-core 模块下执行

gradle cglibRepackJar
gradle objenesisRepackJar

提速优化建议

Spring 下载提速

git clone https://gitee.com/mirrors/Spring-Framework.git

JDK 下载加速

推荐 清华大学镜像

指定本地 gradle-bin.zip

修改 Spring-Framework 项目目录下的 gradlewrappergradle-wrapper.properties 文件

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
## distributionUrl=https://services.gradle.org/distributions/gradle-6.6-bin.zip
distributionUrl=file:///d:/lib/gradle/gradle-6.6-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

这样可以免去多次下载gradle的功夫。
download gradle

依赖下载慢的问题

修改 Spring-Framework 项目目录下的 build.gradle 文件

repositories {
      maven { url "https://maven.aliyun.com/repository/public" }
      mavenCentral()
      maven { url "https://repo.spring.io/libs-spring-framework-build" }
      maven { url "https://repo.spring.io/milestone" } // Reactor
}

增加阿里云国内镜像,下载速度蹭蹭蹭~ 阿里云仓库指南,见下图(更新与2020-09-05)
编译Spring源码省心小贴士
主要参考文档
必要操作
提速优化建议
定位“个性化”问题
构建成功标志
运行debug遇到常见错误

定位“个性化”问题

gradlew build --info

编译Spring源码省心小贴士
主要参考文档
必要操作
提速优化建议
定位“个性化”问题
构建成功标志
运行debug遇到常见错误
通过命令行的方式,可以看到报错找到自己编译过程的特殊报错问题,“对症下药”。

构建成功标志

编译Spring源码省心小贴士
主要参考文档
必要操作
提速优化建议
定位“个性化”问题
构建成功标志
运行debug遇到常见错误

  • 如果上一节 gradlew build 执行成功,那么此处应该也能刷新成功并出现一个个的子任务
  • 如果依赖没有什么改变,可以选择开启“离线模式”,构建速度会更快!

运行debug遇到常见错误

编译Spring源码省心小贴士
主要参考文档
必要操作
提速优化建议
定位“个性化”问题
构建成功标志
运行debug遇到常见错误
CoroutinesUtils 是 Kotlin 的一个工具类。
Spring-Frameworkspring-corekotlin-coroutinesuildlibskotlin-coroutines-5.3.0-SNAPSHOT.jar 添加为 spring.spring-core.main 的依赖,详细参考 https://www.bilibili.com/read/cv6134966/

编译Spring源码省心小贴士
主要参考文档
必要操作
提速优化建议
定位“个性化”问题
构建成功标志
运行debug遇到常见错误
右击 spring-instrumentsrc estjava 文件夹,执行Run 'All Tests',在 spring-instrument 生成一个 out 文件夹 详细参考如何编译spring的源码