第一章--环境搭建
才开始《Spring源码深度解析》就碰到了问题,按照书上的步骤从github上下载了源码,然后导入项目后,缺少spring-cglib-repack-3.2.5.jar和spring-objenesis-repack-2.6.jar这两个jar包。
网上很多解决办法都是从spring-core中解压找到对应的cglib和objenesis,然后使用jar命令来生成jar包。
但,后来发现不需要这么麻烦,spring都已经帮你想好了一切。
在spring-framework目录下,依次找到spring-core下的spring-core.gradle文件,如下
该文件中有两个gradle命令
所以只需要在spring-framework目录下,运行dos/终端,执行这两个命令即可:gradle objenesisRepackJar和gradle cglibRepackJar命令,执行后会在spring-core目录下的build文件夹中生成libs/两个jar包。
如下是cglibRepackJar命令截图
由于之前已经执行过一次,已经存在对应的jar包,所以中间过程都没了
objenesisRepackJar同理。
继昨天问题解决之后,今天发现spring-core项目中还是存在着错误。GroovyBeanDefinitionReader.java报错。
这是因为eclipse不支持Groovy。安装插件即可。
1、查看eclipse版本
2、https://github.com/groovy/groovy-eclipse/wiki 进入groovy官方查看与自己eclipse相匹配的下载。
3、安装插件
点击add后出现窗口,填写如下:
后续按步骤安装即可。
昨天的补充,完成前面的工作之后,spring-core下面的org.springframework.core.ReactiveAdapterRegistry 类依旧报错,提示 The type java.util.concurrent.Flow$Publisher cannot be resolved. It is indirectly referenced from required .class files。
这是Java9里面的内容。
我的做法是切换了spring源码的分支,换到了4.3.x分支下的,使用jdk8即可。 完成后没有任何错误了。