最近在渐渐学习spring的源码,卡在源码编译好多天,中间走了不少弯路。相信很多小白跟小编一样,在spring源码编译上出现了很多问题网上也找不到什么有效的解决方法,一方面对Gradle等一些基础技能掌握没有很深入,一方面也对Idea这个IDE掌握不够,如果你现在用的是Idea2018版本+Spring5.0+Gradle4.9,那么很可能会出现一些问题(这些问题在文章结尾会总结一下),如果短时间内没有找到解决方案,那么建议你考虑用Idea2019.2.4+Spring5.0.1.x+Gradle5.6.3+JDK11.0.5的组合,这个组合经过了测试发现是可以正常编译出来的,下面就开始进入正题。
(一)准备所需要的工具:Idea2019.2.4+Spring5.0.1.x+Gradle5.6.3+JDK11.0.5_win64
Idea2019.2.4:可以在idea官网下载,网址在https://www.oracle.com/java/technologies/oracle-java-archive-downloads.html,
Spring5.0.1.x:spring源码可以在spring官网的github下载,https://github.com/spring-projects/spring-framework/tree/5.1.x,
下载Zip包到本地;
Gradle5.6.3:可到官网下载,https://gradle.org/releases/找到对应版本,选择binary-only版本即可;
JDK11.0.5:可到Oracle官网下载,但下载速度很慢,建议到CSDN下载会比较快。
(二)解压工程,配置环境变量:
1.运行JDK11.0.5.exe,配置java环境变量,配置好后控制台java -version会输出jdk11版本,当然也可以不修改环境变量,在idea中手动引用jdk11的地址也可以,地址为:C:\Program Files\Java\jdk-11.0.5;
2.在想要解压的盘符下解压Gradle压缩包,我这里是放在D盘下,Gradle的根目录在D:\gradle-5.6.3,然后在环境变量添加两个变量:GRADLE_HOME=D:\gradle-5.6.3,GRADLE_USER_HOME=D:\gradle-5.6.3\repogradle,其中GRADLE_USER_HOME的地址可以随便放,为了管理方便放在了D:\gradle-5.6.3\repogradle文件夹下,配置好后cmd执行以下gradle -version,有下面信息则配置完成:
------------------------------------------------------------
Gradle 5.6.3
------------------------------------------------------------
Build time: 2019-10-18 00:28:36 UTC
Revision: bd168bbf5d152c479186a897f2cea494b7875d13
Kotlin: 1.3.41
Groovy: 2.5.4
Ant: Apache Ant(TM) version 1.9.14 compiled on March 12 2019
JVM: 11.0.5 (Oracle Corporation 11.0.5+10-LTS)
OS: Windows 7 6.1 amd64
3.安装idea2019.2.4.exe,双击安装在自己想要的文件夹下,安装有几个地方要留意下:
修改自己的安装路径: