如何让Lombok和AspectJ一起工作?
我刚刚在关于龙目岛的SO上发布了这个问题而没有生成我的getter / setter。 事实certificate它与AspectJ相冲突。 如果我禁用AspectJ,则适当地生成getter / setter。
我的猜测是ajc编译器无法识别lombok。
Lombok和AspectJ是互斥的吗? 这两种技术是否协同工作?
根据AspectJ维护者Andy Clement的当前答案是,由于在AspectJ编译器基础结构中包含和重命名了ECJ(Eclipse Compiler for Java)包,因此存在问题。
有关更多信息,Eric B.和A. Clement之间正在就AspectJ用户邮件列表进行讨论:
- 讨论线程
- 讨论线程继续
也许我们可以通过这个答案来解决问题,并在问题解决后报告。
将Project Lombok添加为aspectj-maven-plugin的依赖项,如下所示:
org.projectlombok lombok 1.16.18 compile
例如:
org.codehaus.mojo aspectj-maven-plugin 1.8 org.aspectj aspectjrt ${aspectj.version} org.aspectj aspectjtools ${aspectj.version} org.projectlombok lombok 1.16.18 compile ${java.version} ${java.version} ${java.version} ${project.build.sourceEncoding} true true true true compile compile test-compile org.springframework spring-aspects