spring-framework-5.1.x 源码编译 环境搭建 [ idea:2020.1 ]

一. Gradle下载与安装

软件名称版本下载地址
jdkjdk 11.0.5下载链接 提取码:qwpe
spring-framework5.1.x下载链接 提取码:diq2
gradle5.6.3下载链接 提取码:pgkc
idea2020.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 再次运行项目,测试成功

在这里插入图片描述

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐