Lombok不生效,提示java: 找不到符号的解决方案
作者:依然耀眼
Lombok不生效,提示java: 找不到符号
问题
在使用IntelliJ IDEA 2020.3 EAP (Ultimate Edition)时提示Lombok不生效
java: You aren’t using a compiler supported by lombok, so lombok will not work and has been disabled.
方法一
打开settings–>Build,Execution…–>Compiler
在Shared build process VM opyions:
加上该配置-Djps.track.ap.dependencies=false
方法二
手动更新Lombok版本
<!--Lombok--> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.14</version> <scope>provided</scope> </dependency>
PS:这个lombok版本主要是解决当时IntelliJ IDEA 2020.3 EAP版本问题的,最新版本的idea相应更新到最新的lombok版本应该就可以了。
方法三
因为lombok版本是一般是受spring boot版本管理的,也可以通过升级springboot的版本来提高lombok版本,只要你springboot中引用的Lombok高于上面的版本就可以。但springboot版本更新一般会比较慢,可
以使用方法二中指定lombok版本
Lombok java: 找不到符号 符号: 方法 get...()
在项目中使用了 Lombok 注解,编译时提示找不到set get
- java: 找不到符号
- 符号: 方法 getUserId()
- 位置: 类型为com..........model.Users的变量 users
查看详细日志,如下
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: OpenJDK javac, ECJ
这里说没有使用lombok支持的编译器,所以lombok将被禁用无法工作。
解决方法:
方法一:Idea的全局配置Compiler中添加配置
file -> setting -> build,Execution,deployment -> compiler,shared build process VM options 参数配置如下:
-Djps.track.ap.dependencies=false
方法二:更换 Lombok 版本
升级 lombok 的版本至 1.18.14+,我的换到如下版本正常。
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.24</version> </dependency>
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。