乐趣区

关于java:升级IDEA后Lombok不能用了如何解决

明天到工作室比拟晚,在电脑前吃着早饭,看到提醒 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 之后,失去解决。


如果下面的方法无奈解决你的问题,那么再看看上面这些,或者能够帮你解决问题:

  1. Lombok 插件是否装置、是否开启

  1. Annotation Processors中的 Enable annotation processing 是否勾选

  1. 在 Compiler 中减少参数配置:-Djps.track.ap.dependencies=false

欢送关注我的公众号:程序猿 DD,分享其余中央看不到的常识与思考

退出移动版