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,双击执行:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!