我试图将Lombok与AspectJ和Maven结合使用。那么,问题是什么呢?当我使用AspectJ Maven插件(www.mojohaus.org/aspectj-maven-plugin/)时,它获取源代码并编译它们,忽略Lombok所做的更改。我遵循this tutorial,得出了this code和AspectJ,但Lombok却带着以下消息死去:
[WARNING] You aren't using a compiler supported by lombok, so lombok will not work and has been disabled.
Your processor is: org.aspectj.org.eclipse.jdt.internal.compiler.apt.dispatch.BatchProcessingEnvImpl
Lombok supports: sun/apple javac 1.6, ECJ
那么,有人知道如何让Lombok与AspectJ结合使用吗?
[EDIT]它工作了!现在,当我把项目打包到一个大jar里的时候,它似乎工作了。但是它仍然不工作于maven:test和IntelliJ。如果有人能修复这个问题,我会很高兴的。
顺祝商祺!
6条答案
按热度按时间qnzebej01#
使用ajc处理类。
kx7yvsdv2#
使用delombok生成正常的源代码。然后像你没有使用Lombok一样继续。
例如,将带Lombok注解的代码存储在main/src/lombok中,然后让delombok插件将这些注解转换为普通代码并放入目录/delomboked中。
ct3nt3jp3#
我尝试了各种解决方案,最后指定了javac编译器选项,如下面的
ffscu2ro4#
这对我的命令行
mvn clean install
有效,但是在Eclipse IDE中,这个问题没有得到解决,例如,log
没有被正确识别为@Slf4j
。mfuanj7w5#
我有一个configuration/excludes/excludes节,其中声明了“aspectjweaver”dependency。excludes节中有“org.projectlombok”,看起来这就是为什么在使用“mvn clean install”构建时没有处理我的lombok注解的原因。
我最初有这样的想法:
当我删除了excludes部分后,构建就开始接受lombok注解并开始工作了。
v9tzhpje6#
SpringBoot和Java:16
目前(19-11-2022)aspectJ插件不支持
17