最近想利用业余时间学习一下spring源码,阅读源码的第一步就是构建spring源码的阅读环境。由于spring 5.0.x是通过gradle构建的,由于平时主要还是使用maven构建项目,因此在构建过程还是遇到很多坑,百度也是千奇百怪,真是万事开头难,因此谨以此文记录一下构建过程。
环境
- jdk1.8.0_121
- idea 2019.3.3
- gradle-4.4.1
- spring-framework 5.0.x
构建spring-framework源码阅读环境
1、在GitHub上下载spring-framework
1)搜索spring-framework
2)选择下载5.0.x分支
3)下载本地后解压
4)关注解压后以下标注的几个文件
5)在idea中构建spring,打开import-into-idea.md文件
import-into-idea.md文档中已经详细说明了导入的步骤:
- 进入我们下载到本地并解压的spring-framework路径下,执行:
gradlew :spring-oxm:compileTestJava 命令
- 预编译spring-oxm模块
- 在编译之前文档中还说明让我们把spring-aspects模块先注释掉
6)用cmd窗口进入spring-framework路径下,执行
<code>gradlew :spring-oxm:compileTestJava/<code>
首次执行时,会提示下载gradle-4.4.1-bin.zip文件,该文件是所下载spring源码包默认的gradle版,此时,按ctrl+C退出编译过程,去该网站下载指定版本gradle:
https://services.gradle.org/distributions/
2、安装gradle
1)本地解压
2)配置环境变量GRADLE_HOME
3)Path:%GRADLE_HOME%\\bin
4)检查是否配置成功
<code>gradle -v/<code>
3、预编译spring-oxm模块,执行命令
<code>gradle :spring-oxm:compileTestJava /<code>
注意:gradle 和 gradlew
gradle:本地下载安装配置好gradle,执行该命令
gradlew:根据spring源码指定gradle版本去下载gradle,执行该命令
因为我们是本地安装好了gradle,因此执行gradle命令。
4、IDEA构建spring源码项目
1)import Project
2)选择gradle,点击finish
3)gradle配置
4)修改maven仓库地址
由于我大天朝网关有限制,因此在idea编译过程中会出现下载不到jar包或者timeout等异常,因此修改maven地址如下
<code>repositories {
\t\t//Maven本地资源库
\t\tmavenLocal()
\t\t//阿里云仓库
\t\tmaven { url "http://maven.aliyun.com/nexus/content/groups/public/" }
\t\t//spring仓库(默认)
\t\tmaven { url "https://repo.spring.io/plugins-release" }
\t\t//Maven中央资源库
\t\tmavenCentral()
\t}/<code>
5)配置完毕后,刷新gradle,把一切交给idea,静静等待即可
6)IDEA构建完成
閱讀更多 天上謫仙人 的文章