升级IDEA后Lombok不能用了,如何解决?

createh56个月前 (12-18)技术教程75

今天到工作室比较晚,在电脑前吃着早饭,看到提示IDEA提示升级,寻思已经有好久没有升过级了。一样等着,就升级下吧。

升级完毕重启之后,突然发现好多错误,原来的应用也没法启动了。仔细一看报错信息,是由于Lombok相关的注解似乎都没有生效。

比如:用到@Slf4j的类里,会有类似这样的报错:

java: 找不到符号
  符号:   变量 log
  位置: 类 com.didispace.UserService

IDEA还提示,现在使用的编译器不支持lombok

java: You aren't using a compiler supported by lombok, so lombok will not work and has been disabled.
  Your processor is: com.sun.proxy.$Proxy26
  Lombok supports: sun/apple javac 1.6, ECJ

搜索一番,是由于IDEA版本导致的Lombok失效,不过这个问题后来解决了。所以,我们只需要更新lombok版本,使用1.18.14及之后的版本即可:

<dependency>
 <groupId>org.projectlombok</groupId>
 <artifactId>lombok</artifactId>
 <version>1.18.14</version>
 <scope>provided</scope>
</dependency>

如果是Spring Boot用户,往往不写版本号,因为2.x开始,就Spring Boot就把lombok的版本一起纳入了。有些Spring Boot的老版本就比较容易出现这个问题,比如DD这边出问题的工程就是使用的2.1.3,这里默认引入的lombok版本是1.18.6。

因为Lombok版本低,所以在IDEA升级之后就出了这样的问题。手工维护版本到1.18.14之后,得到解决。

如果上面的办法无法解决你的问题,那么再看看下面这些,或许可以帮你解决问题:

Lombok插件是否安装、是否开启

Annotation Processors中的Enable annotation processing是否勾选

在Compiler中增加参数配置:-Djps.track.ap.dependencies=false

相关文章

为什么有很多人跑去日本当程序员?

看到这个问题的一瞬间,立马就想到我一学土木的朋友,他现在是在设计院一个月三四千的工资卖命,经常跟我说,他本科同专业的同学毕业自学编程,再加上因为沉迷二次元喜欢日语,日语水平也不错,现在找了个工作被外派...

通过 JFR 与日志深入探索 JVM - TLAB 原理详解

什么是 TLAB?TLAB(Thread Local Allocation Buffer)线程本地分配缓存区,这是一个线程专用的内存分配区域。既然是一个内存分配区域,我们就先要搞清楚 Java 内存大...

矩阵化为最简型矩阵JAVA语言实现――线性代数

前言线性代数在大学中的许多专业都是一门非常重要的课程,而在线性代数的课程中,对于矩阵的化简是每个学习线性代数的大学生都必须掌握的一项技能,矩阵的化简能帮助我们解决求矩阵的秩和求线性方程组解的个数的等问...

顶级安全专家带你解决linux初学问题

关于设置方面最下方我再复制一下。这里是我搭建web环境过程中出现的问题:1.jdk安装部分:首先是从官网下载linux版jdk。这个链接是jdk1.8的https://www.oracle.com/j...