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失效解决方法
相关推荐
一叶飘零_sweeeet15 小时前
深度拆解汽车制造系统设计:用 Java + 设计模式打造高扩展性品牌 - 车型动态生成架构
java·设计模式·工厂设计模式
王家羽翼-王羽16 小时前
nacos 3.1.0 运行主类报错 com.alibaba.cloud.nacos.logging.NacosLoggingAppRunListener
java
影子240117 小时前
oralce创建种子表,使用存储过程生成最大值sql,考虑并发,不考虑并发的脚本,plsql调试存储过程,java调用存储过程示例代码
java·数据库·sql
武子康17 小时前
Java-172 Neo4j 访问方式实战:嵌入式 vs 服务器(含 Java 示例与踩坑)
java·服务器·数据库·sql·spring·nosql·neo4j
程序猿DD17 小时前
深入探索剖析 JVM 的启动过程
java
Arva .17 小时前
ConcurrentHashMap 的线程安全实现
java·开发语言
听风吟丶17 小时前
Java 9+ 模块化系统(Jigsaw)实战:从 Jar 地狱到模块解耦的架构升级
java·架构·jar
昂子的博客17 小时前
Redis缓存 更新策略 双写一致 缓存穿透 击穿 雪崩 解决方案... 一篇文章带你学透
java·数据库·redis·后端·spring·缓存
百***688217 小时前
SpringBoot中Get请求和POST请求接收参数详解
java·spring boot·spring