出现场景:开开心心过完五一假期,到公司打开电脑,运行代码,no problem.修改了业务逻辑后,重新启动,突然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.$Proxy8
Lombok supports: sun/apple javac 1.6, ECJ
问题排查: 首先查看了插件是否配置了lombok,IntelliJ IDEA 2020.3 及以上版本似乎已经绑定了lombok插件,问题pass;其次查看是否在设置中启用了注解处理,这边也是正常启动的,pass;最后看到了有的版本idea默认编译不是javac,尝试搜索相关资源,最终定位到如下博客:idea 中 Lombok 不生效问题的解决方法_idea lombok不生效_Smile^`的博客-CSDN博客
解决方法:红框处添加如下命令,问题解决
-Djps.track.ap.dependencies=false
属实没想明白为啥有时候可以正常启动,突然又不行了,欢迎知道的大佬们评论解惑!
后续又遇到了该问题,使用该方法也无法解决,同事给我了如下compiler.xml文件对我本地的进行了替换,实测管用!文件内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<option name="BUILD_PROCESS_HEAP_SIZE" value="2048" />
<option name="BUILD_PROCESS_ADDITIONAL_VM_OPTIONS" value="-Djps.track.ap.dependencies=false" />
<annotationProcessing>
<profile default="true" name="Default" enabled="true" />
<profile name="Maven default annotation processors profile" enabled="true">
<sourceOutputDir name="target/generated-sources/annotations" />
<sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
<outputRelativeToContentRoot value="true" />
<module name="ruoyi-system" />
<module name="ruoyi-personnel" />
<module name="ruoyi-purchase" />
<module name="ruoyi-generator" />
<module name="ruoyi-storage" />
<module name="ruoyi-depository" />
<module name="ruoyi-framework" />
<module name="ruoyi-order" />
<module name="ruoyi-technology" />
<module name="ruoyi-administration" />
<module name="ruoyi-common" />
<module name="ruoyi-task" />
<module name="ruoyi-finance" />
<module name="ruoyi-admin" />
<module name="ruoyi-sd" />
<module name="ruoyi-products" />
<module name="ruoyi-process" />
<module name="ruoyi-factory" />
<module name="ruoyi-crm" />
<module name="ruoyi-manager" />
<module name="ruoyi-print" />
<module name="ruoyi-procedure" />
<module name="ruoyi-item" />
<module name="ruoyi-message" />
<module name="ruoyi-pruchase" />
<module name="ruoyi-flowable" />
<module name="ruoyi-offline" />
<module name="ruoyi-device" />
<module name="ruoyi-quartz" />
</profile>
</annotationProcessing>
<bytecodeTargetLevel>
<module name="crm" target="17" />
</bytecodeTargetLevel>
</component>
<component name="JavacSettings">
<option name="ADDITIONAL_OPTIONS_OVERRIDE">
<module name="crm" options="-parameters" />
</option>
</component>
</project>
仅供参考,请对照自己 idea里面的 .idea文件夹下的 compiler.xml文件修改尝试,找不到这个文件夹可能是你隐藏了,右键父文件夹打开于资源管理器查看即可!
希望有大佬来解释解释为啥 lombok用起来爽,一出bug就莫名其妙!!