1. 源码获取
然后打开IDEA,进行以下操作
将刚才github的源码链接粘贴到这
下载源码的过程可能会有点长,如果网速不是很给力的话,可以考虑下载源码的zip包,下载完成后解压,将工程导入IDEA中,然后开始编译源码。
2. 编译源码
如果编译不通过,先注释掉spring-beans.gradle中的28行,然后继续。
然后继续build project。
还是报错,大家不要着急。为了避免第三方class的冲突,Spring把最新的cglib和objenesis给重新打包(repack)了,它并没有在源码里提供这部分代码,而是直接将其放在jar包当中,这也导致了我们拉取代码后出现的编译错误。解决方案:在spring根目录下面执行gradle objenesisRepackJar 和 gradle cglibRepackJar。
然后再次build project后,又来了一个新的报错:
问题原因:从上图的aspect关键字可以看出,AOP的实现会依赖到AspectJ,所以我们需要ajc.exe来执行编译(我们可以将ajc命令当成增强版的javac命令)
问题解决:下载AspectJ的稳定版本(AspectJ Downloads | The Eclipse Foundation):
AspectJ安装
打开dos窗口,切换到aspectj-1.9.0.jar所在目录,运行java -jar aspectj-1.9.0.jar命令,打开AspectJ的安装界面,点击next,然后install,done。
为spring-aspect工程添加Facsets
更改编译器
再次build project后,还是报错。
查看spring-oxm下的spring-oxm.gradle文件后,发现可以在spring-oxm项目目录下执行下面两个命令:
1.gradle genCastor
2.gradle genJaxb
再次build project后,还是报错。
问题解决:找到对应的报错行,注释掉
至此,大功告成,666!是不是好难啊!
网友评论