关于 GroovyDynamicElementReader cannot be resolved to a type问题解决
产生原因
- 本来还是正常编译运行的spring源码,在添加了一个BeanFactoryPostPrcessor (BeanDefinition对象的后置处理器)之后就不能编译通过了,报错信息
GroovyDynamicElementReader cannot be resolved to a type
- 搜了一下,说的基本都是eclipse缺少groovy插件,但是我的环境是idea啊。而且也有groovy插件;后面在
stackoverflow
找到了解决方案。原文地址:stackoverflow
解决方案
- 解决方案为
java File-> Settings->Build,Excecution,Deployment->Compiler->Java Compiler->Delegate to Javac
- 意思就是将之前导入源码设置的ajc编译器改为javac编译器。我心想这样Aspect代码不是又编译不了呢,改过来之前还真是,原来的问题没了,但是Aspect代码编译不通过。无赖还是切换为ajc编译器。
- 重新编译,没想到之前的报错问题没了,就比较离谱。然后就可以正常编译通过运行了。
最近又出现了这个问题
- 解决方案:
- 先用javac编译器全量编译,编译到aspectJ这里就会出问题,不用管,然后用ajc编译器直接运行。