spring5.0.x 源码编译过程及踩坑记录

一、源码准备

1、上GitHub全局搜索spring

spring5.0.x 源码编译过程及踩坑记录_第1张图片

2、下载5.0.x版本,最新是5.2.x

spring5.0.x 源码编译过程及踩坑记录_第2张图片

spring5.0.x 源码编译过程及踩坑记录_第3张图片

3、导入源码到idea

4、准备好本地gradle环境,spring-5.0.x依赖gradle-4.4.1,记得要选择本地gradle环境,默认从官网下载,会很慢,这里踩坑折腾了一晚上。

spring5.0.x 源码编译过程及踩坑记录_第4张图片

5、等待漫长的编译过程

spring5.0.x 源码编译过程及踩坑记录_第5张图片

参考:https://blog.csdn.net/u012211419/article/details/80445276

https://www.pianshen.com/article/85281142445/

 

二、使用

新建demo项目

错误一、

Error:(20, 50) java: 程序包org.springframework.objenesis.instantiator不存在

原因是Spring Framework为了避免与cglib和objenesis冲突,将cglib和objenesis相关的包重新repack到org.springframework.cgliborg.springframework.objenesis包中,这部分的代码没有包含到源码当中。

解决方法

spring5.0.x 源码编译过程及踩坑记录_第6张图片

spring5.0.x 源码编译过程及踩坑记录_第7张图片

找到这两个,双击执行即可。

参考:https://www.cnblogs.com/jssj/p/11631881.html

https://www.cnblogs.com/zhangfengxian/p/11072500.html

错误二

Error:(26, 38) java: 找不到符号
  符号:   类 InstrumentationSavingAgent
  位置: 程序包 org.springframework.instrument

解决办法:在自己测试项目的build.gradle里加上 compile(project(":spring-instrument"))

参考

https://www.codenong.com/cs106313378/

总结:

遇到问题根据抛出的错误信息去网上搜索解决办法,先Google在百度,Google搜出来的文章质量相对高点

 

源码分析可以参考这篇文章

https://blog.csdn.net/nuomizhende45/article/details/81158383

你可能感兴趣的:(java)