Spring源码编译及错误解决
一.概要
- 本文旨在讲述Spring源码环境的搭建以及搭建过程中遇到的问题的解决
二.环境要求
注:任意组件版本的不同都会导致新的问题出现,如果遇到因版本问题引发的错误,还需自行解决
- JDK1.8
- Gradle5.1.1
- Eclipse Neon.3 Release (4.6.3)
- Spring v5.1.5.RELEASE
- Git-2.20.1-64-bit
三.搭建步骤
- 安装JDK1.8(具体步骤请参考网络)
- 安装Gradle5.1.1(具体步骤请参考网络)
- 下载Eclipse
- Eclipse安装Groovy插件:(http://dist.springsource.org/release/GRECLIPSE/e4.6/):
- Eclipse安装Buildship Gradel Integration 3.0插件:
- Eclipse安装AspectJ Development Tools 2.2.4插件:
- 利用Git获取Spring源码:(git clone https://github.com/spring-projects/spring-framework.git)
- 使用命令行(cmd模式)进入获取的spring-framework目录下执行如下命令:
①.gradle cleanidea eclipse(将spring项目编译为Eclipse工程)
②.gradle genJaxb(获取Spring源码中缺少的jar包)
③.gradle objenesisRepackJar(获取Spring源码中缺少的jar包)
④.gradle cglibRepackJar(获取Spring源码中缺少的jar包) - 将编译好的项目import到Eclipse编译器,使用导入Gradle项目,其中注意下图的选择:
四.错误解决
- 由于之前安装好多插件及jar包的导入,所以会减少很多不必要的错误
- 唯一存在错误的地方是spring-wenflux模块下org.springframework.web.reactive.function.server包下的RouterFunctionsTests类,只需要增加强制类型转换即可:
五.调试学习Spring源代码
- 之后即可在项目中创建类,使用Spring的相关功能进行Debug学习源代码了