Spring-framework 5.2.x 源码编译环境搭建
一、环境准备
主要用到的工具为 Git、JDK1.8.0_202、Gradle5.6.4、IDEA2020.3.4,其中Gradle版本的选择是根据本次选择的 v5.2.21.RELEASE 版本来决定的,查看路径为:
spring-framework/gradle/wrapper/gradle-wrapper.properties:
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.3-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Gradle环境配置
到Gradle官方的镜像仓库下载指定的Gradle版本,这里选择是(gradle-5.6.4-bin.zip)[https://services.gradle.org/distributions/gradle-5.6.4-bin.zip],下载后解压到磁盘目录:D:\gradle-5.6.4,并创建文件夹 repo 作为本地仓库:

配置环境变量,分别创建 GRADLE_HOME(D:\gradle-5.6.4)、GRADLE_USER_HOME (D:\gradle-5.6.4\repo),完成后打开终端工具,执行 gradle -v
表示gradle已安装成功,版本为 5.6.4

1.2 源码下载
从官方仓库代码Fork到自己的仓库中,然后将自己仓库中的工程clone到本地文件夹,这里推荐先通过git clone 将代码拉去到本地。
本地磁盘工作目录下执行以下命令,将Spring源码下载到本地:
git clone git@github.com:neilweixing/spring-framework.git

二、构建源码
2.1 切换分支
将源码下载到本地工作空间后,进入 spring-framework 工程目录下,切换到我们需要的tag v5.2.21.RELEASE 下,使用的命令为 git checkout -b 5.2.21 v5.2.21.RELEASE。
2.2 修改源码配置信息
2.2.1 修改编译依赖的gradle
将上面下载的复制到GRADLE_HOME 路径下,便于统一管理,没有特别要求:

使用文本编辑器打开 spring-framework/gradle/wrapper/gradle-wrapper.properties ,修改 distributionUrl 为本地gradle的安装路径,避免每次编译时都从官网下载一份 gradle-5.6.4-bin.zip,修改内容:
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
# distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-bin.zip
distributionUrl=file:///d:/gradle-5.6.4/gradle-5.6.4-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
2.2.2 修改 build.gradle
在build.gradle文件,在 repositories 下添加阿里云的仓库地址:
repositories {
   maven { url "https://maven.aliyun.com/repository/public" }
   maven { url "https://maven.aliyun.com/repository/apache-snapshots" }
   maven { url "https://maven.aliyun.com/repository/gradle-plugin" }
   maven { url "https://repo.springsource.org/plugins-release" }
   maven { url "https://repo.spring.io/libs-spring-framework-build" }
   mavenCentral()
}
2.3 工程导入
2.3.1 Import project
将修改完文件的 spring-framework 导入到IDEA当中,修改gradle配置:

2.3.2 预编译spring-oxm
在 spring-framework 中有一个 import-into-idea.md 文件,里面指出了编译源码的步骤,内容截图如下:

2.3.3 构建spring
以上操作完成之后,你可以开始构建spring-framework了,等待一会儿时间,出现以下提示,则说明构建完成。

这时我们找到 ApplicationContext类,打开后,按下Ctrl+Alt+U键,如果出现下图所示类图界面说明构建成功了。

2.3.4 源码编译
在此之前,确保 spring-oxm、spring-core 均预编译完成,无误后就可以编译整个spring-framework了,打开顶层spring->build->build,双击执行:


 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号