Spring5 源码阅读环境搭建
编译好的源码
准备阶段
最好准备一个科学上网的工具,因为编译的时候会下载很多依赖文件,有些可能是国外的。如果没有科学上网的花,可能会下载失败。只要有一个包下载失败都有可能导致整个工程构建失败。所以,能不能构建成功除了看功低,运气也占一部分😁 --------------------------------我是分割线--------------------------------------- 其实我本人也没有准备科学上网的工具。只是修改下依赖的源,改成阿里云的等等的,也能成功
-
jdk版本:1.8及以上 gradle版本:6.4.1,因为Spring源码使用gradle构建的。 Spring源码版本:5.1.x.RELEASE 开发工具:IntelliJ IDEA 2020.2.3 系统:win10
1. 安装gradle工具
1.1 下载地址:https://gradle.org/releases/,找到6.4.1版本点击binary-only下载。【图上是4.9但是失败了,我又换成6.4.1了,IntelliJ IDEA 也由2018版换成2020.2.3版的了 】 1.2 解压压缩包
1.3 配置环境变量
1.3.1 配置GRADLE_HOME,变量值为gradle根目录
1.3.2 配置GRADLE_USER_HOME,变量值为自定义Gradle仓库目录或者Maven的仓库目录 1.3.3 给变量Path添加值,值为%GRADLE_HOME%in; 1.4 配置Gradle仓库源 在Gradle安装目录下的 init.d 文件夹下,新建一个 init.gradle 文件,里面填写以下配置。
allprojects { repositories { maven { url file:///C:/Java/maven_repository} mavenLocal() maven { name "Alibaba" ; url "https://maven.aliyun.com/repository/public" } maven { name "Bstek" ; url "http://nexus.bsdn.org/content/groups/public/" } mavenCentral() } buildscript { repositories { maven { name "Alibaba" ; url https://maven.aliyun.com/repository/public } maven { name "Bstek" ; url http://nexus.bsdn.org/content/groups/public/ } maven { name "M2" ; url https://plugins.gradle.org/m2/ } } } }
repositories 中写的是获取 jar 包的顺序。先是本地的 Maven 仓库路径;接着的 mavenLocal() 是获取 Maven 本地仓库的路径,应该是和第一条一样,但是不冲突;第三条和第四条是从国内和国外的网络上仓库获取;最后的 mavenCentral() 是从Apache提供的中央仓库获取 jar 包。
1.5 打开新的cmd,查看是否搭建成功: gradle -v
2. 下载spring5.1源码
2.1 选择5.1.x版本下载,下载速度可能会稍微慢点。耐心等待即可😎 2.2 解压项目源码
3. 导入项目
选择Gradle
内存尽量调大一些,因为构建的时候比较吃内存,内存不够的话可能会报内存溢出的错误,导致构建失败
-XX:MaxPermSize=2048m -Xmx2048m -XX:MaxHeadSize=2048m
这时候是各种报错啊,网上说下载资源失败多试几次就好了,我试了无数次都不行,一度想放弃。。。。。。,最后各种修改总算是可以了,我把正确的配置记录一下吧。
- 改配置
- 改代码build.gradle 改完之后刷新等待下载就行了。
下图就代表编译成功了
4. 修改部分源码
因为Spring项目是在Linux系统打包的,所以在Windows系统搭建环境的时候需要修改部分源码。
4.1 注释掉部分代码,dokka、asciidoctorj、asciidoctor、asciidoctorPdf
5.编译spring-core和spring-oxm
编译spring-oxm,双击下图标红的地方 编译成功如下: 同上方法编译spring-core
6. 编译整个工程【耗时,需耐心等待】
双击build,然后等待编译完成。 用了将近42分钟才全部编译完毕
7. 测试
运行测试案例,全部通过