spring-framework-5.1.x 源码编译 环境搭建 [ idea:2020.1 ]
一. Gradle下载与安装
| 软件名称 | 版本 | 下载地址 |
|---|---|---|
| jdk | jdk 11.0.5 | 下载链接 提取码:qwpe |
| spring-framework | 5.1.x | 下载链接 提取码:diq2 |
| gradle | 5.6.3 | 下载链接 提取码:pgkc |
| idea | 2020.1/2020.3 | 下载链接 提取码:5555 |
二. Spring和Gradle
2.1 官网下载spring源码
GitHub 搜索springframework 版本号 5.1.x
官网下载: spring-projects / spring-framework 的 github地址


2.2 下载配置gradle
我们选择想要安装的发布版本,gradle-x.x-bin.zip是需要下载的安装发布版,gradle-x.x-src.zip是源码,gradle-x.x-all.zip则是下载全部的文件。 我选择下载gradle-5.6.3-bin.zip。

安装Gradle
Gradle下载的源码不需要安装,我们将下载的压缩包在本机的目录下直接解压即可,解压后的目录如下图所示。

配置Gradle环境变量
右键“这台电脑”–>“属性”–>“高级系统设置”–>“环境变量”–>“系统变量”,我们在系统变量中新增一个GRADLE_HOME值为解压后的路径,然后我们还需要修改Path变量,将Gradle的bin目录添加进去,我们在Path变量的最后面添加;%GRADLE_HOME%\bin,注意前面的分号(;)一定不能少。




验证Gradle是否安装成功
配置完成后我们查看一下本机安装的gradle的版本信息,
使用快捷键Win+R弹出的输入框中输入cmd,然后打开命令窗口,
在命令窗口中输入gradle -v 或 gradle -version 可以查看到gradle的版本信息

三. idea导入spring源码
3.1 导入源码
如果当前的版本是: idea 版本2020.1 ,操作步骤如下


注意:gradle开始进行源码项目构建的时候,会自动下载默认gradle版本进行项目构建,此时,强制结束下载进程

如果当前的版本是: idea 版本2020.3 ,操作步骤如下


注意:gradle开始进行源码项目构建的时候,会自动下载默认gradle版本进行项目构建,此时,强制结束下载进程

3.2 更改gradle的仓库源为阿里源,这样下载构建速度更快
build.gradle

repositories {
maven { url “https://maven.aliyun.com/repository/spring-plugin” }
maven { url “https://maven.aliyun.com/nexus/content/repositories/spring-plugin” }
maven { url “https://repo.spring.io/plugins-release” }
}

repositories {
maven { url “https://maven.aliyun.com/repository/central” }
maven { url “https://repo.spring.io/libs-release” }
mavenLocal()
}
3.3 idea中的gradle设置
注意:
run tests using 设置成idea的
gradle user home : 可以任意选择一个本地磁盘的位置

3.4 设置完毕后,刷新gradle,让其重新构建源码

四. 编译⼯程
顺序:
core ⼯程 —>tasks —>other —>compileTestJava
oxm ⼯程 —>tasks —>other —>compileTestJava
context ⼯程 —>tasks —>other —>compileTestJava
beans ⼯程 —>tasks —>other —>compileTestJava
aspects ⼯程 —>tasks —>other —>compileTestJava
aop ⼯程 —>tasks —>other —>compileTestJava
4.1 core



4.2 oxm

4.3 context

4.4 beans

4.5 aspects

4.6 aop

五. 创建项目
5.1 在项目上右击新建model



在当前项目中添加spring-context依赖

创建测试类


编写配置文件

编写测试类

运行:报错问题1
5.2 问题处理
问题1:Kotlin: Language version 1.1 is no longer supported; please, use version 1.2 or greater.

解决:core/oxm/context/beans/aspects/aop/spring-dabing
上述模块全部都需要设置Kotlin版本大于1.1

重新运行测试类:问题2
G:\spring-framework-5.1.x\spring-context\src\main\java\org\springframework\context\weaving\DefaultContextLoadTimeWeaver.java:26:38
java: 找不到符号
符号: 类 InstrumentationSavingAgent
位置: 程序包 org.springframework.instrument
问题2:

解决:
步骤1:
编辑spring-context模块的spring-context.gradle
将optional更新为compile

步骤2:
重新编译spring-context模块


5.3 再次运行项目,测试成功

本文介绍如何搭建Spring Framework 5.1.x版本的源码编译环境,包括Gradle安装配置、IDEA版本选择、源码导入及编译流程,并解决常见编译错误。
373





