Spring-framework的源码编译有很多坑,我尝试了一天多,才编译成功,在此记录一下编译成功的步骤。
准备工作
我们需要先选定Spring-framework的版本,我这里选择了5.3.8(不同的版本需要的依赖不同)。之后就可以去github进行源码的下载,下载的方式有很多种,这里我选择了下载zip文件。通过下面的网址,选择适合的版本即可下载。https://github.com/spring-projects/spring-framework/releases
下载完成解压后,我们进入.\gradle\wrapper\gradle-wrapper.properties
可以在其中发现gradle所需要的版本,我们可以直接复制这个链接,将其下载到本地。这样每次编译就不需要重新下载gradle了,当然下载之后,我们也需要重新配置一下gradle-wrapper.properties
文件,如下。
当然,每个版本的Spring-framework所需的jdk版本都不一样,也需要根据不同版本进行安装,这里5.3.8所需要jdk8以及以上的版本,本机安装的是jdk11。
配置gradle
之后,我们需要给安装的gradle配置国内源去提升下载速度,不然网速会非常非常慢。(在Spring-framework源码编译过程中,网络会是一个很大的问题)
我们需要在settings.gradle
中添加国内源,如下。
接着,在build.gradle
中添加配置,如下。
预编译
根据Spring-framework官网的要求,在导入IDEA之前,需要先预编译一下(也可能不需要)。
首先在,Spring-framework的工作目录下输入
gradlew :spring-oxm:compileTestJava
# 和
gradlew :spring-core:compileTestJava
显示BUILD SUCCESSFUL
就说明预编译成功了,可以进行IDEA的导入了。
IDEA导入
选择gradle方式导入
出现,如上输出,就说明编译成功了。
编译Spring-framework用了很久,出了很多问题,我遇到的大部分都是和网络相关,如果不行的话,可以通过换网或者搭梯子的方式再试一试。