升级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之后,得到解决。

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

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

Annotation Processors中的Enable annotation processing是否勾选

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

到此这篇关于升级IDEA后Lombok不能使用的解决方法的文章就介绍到这了,更多相关IDEA升级Lombok不能使用内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 关于idea2020.3升级lombok不能使用的问题

    下面看下关于idea2020.3升级lombok不能使用的问题 因为lombok插件暂时没有更新到 2020.3版本,在pom文件中指定lombok版本为最新版本 ps:idea2020版本的lombok不能使用 在的Idea2020版本出现之后,发现了一个问题,在历史插件没有更新的情况下咱们更新了idea,就会导致插件更新没有及时跟上而导致失效. 解决办法: 官网插件地址:https://plugins.jetbrains.com/plugin/6317-lombok/ 进入官网插件地址进行下

  • 升级IDEA后Lombok不能使用的解决方法

    今天到工作室比较晚,在电脑前吃着早饭,看到提示IDEA提示升级,寻思已经有好久没有升过级了.一样等着,就升级下吧. 升级完毕重启之后,突然发现好多错误,原来的应用也没法启动了.仔细一看报错信息,是由于Lombok相关的注解似乎都没有生效. 比如:用到@Slf4j的类里,会有类似这样的报错: java: 找不到符号 符号: 变量 log 位置: 类 com.didispace.UserService IDEA还提示,现在使用的编译器不支持lombok java: You aren't using

  • IDEA安装lombok插件设置Enable Annotation Processing后编译依然报错解决方法

    IDEA导入的项目中有依赖lombok的get set注解,build项目时报错:找不到get/set方法. 查找网上资料,安装lombok插件,如图: 安装好插件后,重启IDEA后还是编译报错,又在设置中勾选了Enable Annotation Processing 如下图: 完成了所有这些设置后编译还是报错找不到get/set方法 经过了很多次尝试后 (更换JDK1.8.清空项目缓存等等)发现项目中引用的lombok jar包是1.16版本的,下载了官网的最新jar包并替换后重新编译,编译通

  • Android Studio使用Kotlin时,修改代码后运行不生效的解决方法

    问题现象 前段时间升级 Android Studio 3.1.3+ 版本后,决定尝试使用 Kotlin 做 APP 开发看看.结果却发现,修改 String 资源后,"运行",修改的内容没有生效.一开始以为只是 String 资源是这样,于是试了下 kt 文件,结果发现"运行"也不能生效. 但是先 clean 了,再"运行",却可以正常编译出来.查了好久发现是 New Module 后,Run/Debug Configurations不完整所致.

  • Angular懒加载机制刷新后无法回退的快速解决方法

    今天在项目中遇到一个很奇怪的问题,使用oclazyload懒加载angular的模块,刷新页面后,单击回退按钮无法返回上一个页面.估计是使用懒加载机制销毁了angular内部的state关联,导致无法回到上一个state(单击回退按钮 ui-routre的 $stateChangeStart 事件都不会触发),当然这只是猜测,由于事件关系也没有去深入的探究源码. angular懒加载机制刷新后无法回退的解决方案 : 通过查看angular(ionic)的源码发现$browser这个服务上有个on

  • yum安装openJDK1.8后无法卸载的快速解决方法

    一.问题描述 用yum安装openJDK1.8,安装后使用yum remove卸载,提示如下 Remove 1 Package(s) Installed size: 490 k Is this ok [y/N]: y Downloading Packages: Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Erasing : 1:java-1.8.0-

  • php集成安装包wampserver修改密码后phpmyadmin无法登陆的解决方法 原创

    本文分析了php集成安装包wampserver修改密码后phpmyadmin无法登陆的解决方法,分享给大家供大家参考,具体如下: 一.问题: 今天重装了本机php开发环境,使用了WampServer2.1a-x32集成安装包(之前使用的是appserv-win32-2.5.9集成安装包).顺便安装多版本php运行环境. 安装过程这里不再赘述.(此处wampserver安装在C盘根目录下)安装完毕后因为默认安装没有设置mysql密码,这里就修改了一下mysql密码(具体方法可参考前面的文章<如何修

  • 关于jQuery EasyUI 中刷新Tab选项卡后一个页面变形的解决方法

    书写jQuery EasyUI Tab 样例时,如果刷新前面的Tab 选项卡,某一个Tab 选项卡里面的页面布局变乱.如下面图片所示: 刚开始打开时页面布局正确: 此时我们在第二个选项卡里面,点击第一个页面的刷新按钮,一直刷新,然后切换回来再看看页面,如下图: 但是首页选项卡的页面是正常的. 为了便于解释说明,这里用第一个选项卡代表 "首页",第二个选项卡代表"子菜单10" 出现这种情况的问题根本原因在于,你在第二个选项卡里面,点击其它第一个选项卡刷新按钮时,其实刷

  • centos配置ssh免密码登录后仍要输入密码的解决方法

    前言 在搭建Linux集群服务的时候,主服务器需要启动从服务器的服务,如果通过手动启动,集群内服务器几台还好,要是像阿里1000台的云梯Hadoop集群的话,轨迹启动一次集群就得几个工程师一两天时间,是不是很恐怖.如果使用免密登录,主服务器就能通过程序执行启动脚步,自动帮我们将从服务器的应用启动.而这一切就是建立在ssh服务的免密码登录之上的.所以要学习集群部署,就必须了解linux的免密码登录. 第一步:在本机中创建秘钥 1.执行命令: ssh-keygen -t rsa -C "xx@qq.

  • angularjs使用gulp-uglify压缩后执行报错的解决方法

    问题出现原因是由于压缩之后变量变成了,e.s.t等,需要依赖注入的方法没有使用中括号注入,而在function的参数中直接使用,导致压缩之后无法识别需要依赖注入的模块.例如: var module= angular.module('homeApp', ['ui.router']); module.config(function ($sceProvider) { $sceProvider.enabled(false); }) 改为: var module= angular.module('home

  • Jquery on方法绑定事件后执行多次的解决方法

    这两天工作中遇到使用js动态加载内容,同时需要对加入的内容绑定点击事件的,当时想想了想可以使用内联的onclick 来实现,后来没有这样做,使用的是 on('click',function(){}) ,然而使用on方法的时候就发现,on 对同一个元素多次绑定同一个事件的时候,这个事件就会执行多次. 下面给出这种情况的实例: $(function(){ $(".add").click(function(eve){ $(".btn-area").append("

随机推荐