升級IDEA後Lombok不能用了,如何解決?
- 2021 年 7 月 12 日
- 筆記
今天到工作室比較晚,在電腦前吃著早飯,看到提示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
歡迎關注我的公眾號:程式猿DD,分享外面看不到的乾貨與思考!