文章目录
编译好的源码
搭建源码环境真的是费心、费力又费时。我在这里编译好了,换台电脑再次搭建,居然失败了。。。。。
喜欢阅读源码的童鞋,可以直接找我要编译好的源码,不用再重新搭建环境了,太累了。有了编译好的源码只需配置下开发环境就行了。加我QQ或者留言都行。
本人QQ:905679027
准备阶段
最好准备一个科学上网的工具,因为编译的时候会下载很多依赖文件,有些可能是国外的。如果没有科学上网的花,可能会下载失败。只要有一个包下载失败都有可能导致整个工程构建失败。所以,能不能构建成功除了看功低,运气也占一部分😁
--------------------------------我是分割线---------------------------------------
- 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%\bin;
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版本下载,下载速度可能会稍微慢点。耐心等待即可😎
下载地址:https://github.com/spring-projects/spring-framework
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. 测试
运行测试案例,全部通过