idea中使用Lombok 失效,@Slf4j 找不到符号的解决办法
一、前言
今天在一个多module工程中,新增了一个 springboot(版本 2.2.4.RELEASE) module,像往常一样,我引入了lombok依赖, 在类中也能正常引入@Slf4j注解,但是 编译时,总是报:找不到符号,符号:变量 log。可是我试了同一个中另一个 springboot(版本2.7.10)module 明明是可以正常编译的,至少可以说明IDEA的配置,相关插件都是没问题的,于是就觉得和springboot版本有关系。
二、问题排查和解决方案
我引入 lombok的依赖坐标写法如下,这里并没有指定 verion,因为springboot 父工程里定义好了 不同版本springboot使用不同版本lombok ,以保证互相兼容。
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
查看 spring-boot-dependencies-2.2.4.RELEASE.pom 文件可见 这里定义了 1.18.10 版本。
查看 spring-boot-dependencies-2.7.10.pom 文件可见 这里定义了 1.18.26 版本。
通过对比得知是版本的问题,我把lombok的版本提高到1.18.26 这个问题就迎刃而解。
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.26</version>
<optional>true</optional>
</dependency>
三、 其他解决方案
同时在我解决问题的时候还发现 github 和stackoverflow 已经有人提出这个问题了并给出了解决方案:
地址:
GitHub:https://github.com/projectlombok/lombok/issues/2592
stackoverflow :https://stackoverflow.com/questions/66170975/jps-incremental-annotation-processing-is-disabled-compilation-results-on-partia
3.1 另一种解决方案
在以下位置加入该配置-Djps.track.ap.dependencies=false
-Djps.track.ap.dependencies=false
3.2 参考文章
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!