一、源码编译
1、基础环境
- JDK:1.8.0_202 具体环境变量配置方式自己搜索。
- gradle:4.9
- idea:2019.3.3
- 系统:window 10
以上环境安装及配置自己百度解决,此处不再补充。主要讲解Spring 5.1.x源码编译可使用。
2、下载Spring Framework 5.1.x 源码
首先,我们从github 上下载Spring Framework 5.1.x 源码。地址:https://github.com/spring-projects/spring-framework。
如果访问github比较慢,可以从码云上边下载。两个是一样的。地址:https://gitee.com/mirrors/Spring-Framework
选择5.1.x 分支,然后点击下载。即可获得项目源码包。
3、修改build.gradle文件
这里我将默认的maven仓库改成了阿里的公共仓库地址。因为国外的地址大陆访问很慢,经常回因为超时而编译失败。网络好或者有VPN的大佬可以忽略。
解压下载后的源码包后打开,在项目根目录找到build.gradle文件,修改maven仓库地址为阿里的公共仓库地址:https://maven.aliyun.com/repository/central
修改后文件如下:阿里仓库地址:https://maven.aliyun.com/repository/central
4、编译完成后,idea项目如图
二、测试
1、创建自己的项目,类型为gradle。名称自己命名。
2、创建UserDao类,并新建一个方法。
3、创建测试类和测试方法,可以直接使用main方法
4、运行结果
三、错误记录
1、运行测试方法,报:找不到InstrumentationSavingAgent
解决方式:需要修改spring-context.gradle 文件的optional(project(":spring-instrument"))为compile(project(":spring-instrument"))。
2、OutOfMemoryError: Metaspace
修改运行时的内存参数,如图: