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 ,以保证互相兼容。

xml 复制代码
        <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 这个问题就迎刃而解。

java 复制代码
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.26</version>
            <optional>true</optional>
        </dependency>

三、 其他解决方案

同时在我解决问题的时候还发现 github 和stackoverflow 已经有人提出这个问题了并给出了解决方案:

地址:
GitHubhttps://github.com/projectlombok/lombok/issues/2592
stackoverflowhttps://stackoverflow.com/questions/66170975/jps-incremental-annotation-processing-is-disabled-compilation-results-on-partia


3.1 另一种解决方案

在以下位置加入该配置-Djps.track.ap.dependencies=false

xml 复制代码
-Djps.track.ap.dependencies=false

3.2 参考文章

  1. @Slf4j 变量log找不到符号,附上网上一般处理流程
  2. Idea21.1.3版本Lombok失效解决方法
相关推荐
Abladol-aj39 分钟前
并发和并行的基础知识
java·linux·windows
清水白石00839 分钟前
从一个“支付状态不一致“的bug,看大型分布式系统的“隐藏杀机“
java·数据库·bug
吾日三省吾码6 小时前
JVM 性能调优
java
弗拉唐7 小时前
springBoot,mp,ssm整合案例
java·spring boot·mybatis
oi778 小时前
使用itextpdf进行pdf模版填充中文文本时部分字不显示问题
java·服务器
少说多做3438 小时前
Android 不同情况下使用 runOnUiThread
android·java
知兀8 小时前
Java的方法、基本和引用数据类型
java·笔记·黑马程序员
蓝黑20208 小时前
IntelliJ IDEA常用快捷键
java·ide·intellij-idea
Ysjt | 深8 小时前
C++多线程编程入门教程(优质版)
java·开发语言·jvm·c++