Eclipse - lombok的@Slf4j和@Data无效

问题与分析
最近开始学习spring-boot框架,我用的是Eclipse,然后发现在使用到了lombok的@Data注解时,Eclipse会编译错误。@Data的作用是自动生成toString方法和setter/getter方法,可以减少大量重复性的代码工作。

另外在使用了@Slf4j注解时,这个注解可以自动为当前类生成一个log变量,即:rivate final Logger logger = LoggerFactory.getLogger(XXX.class);。然而Eclipse无法识别log变量,会报log变量未声明的错误。

一开始我以为是没导入包或者漏了jar包,但是检查一番后没有问题。百度了下才知道,原来除了导包之外,还需要为Eclipse安装该lombok插件。

解决方法
安装方法很简单,找到你导入的lombok的jar包,双击运行该jar包,会出现一个安装界面。或者右键jar包,选择打开方式,接着选择Java (TM) Platform SE binary,会出现安装界面。

在安装界面选择当前的Eclipse进程,或者点击左下角的Specify location...选择你要安装插件的Eclipse,接着点右下角的Install / Update,很快就安装完毕,点击Quit Installer。

lombok的下载地址:https://projectlombok.org/downloads/lombok.jar

问题补充
当我安装好lombok之后,Eclipse虽然能够正常识别@Slf4j注解生成的log变量,但@Data注解依然无效。在使用到了pojo类的私有变量时,依然会提示说缺少setter/getter方法。折腾了好久,才发现原来是因为Eclipse自动给我的pojo类的私有变量加上final修饰符,导致setter/getter方法注入失败了。

把pojo类的私有变量前边的final去掉后,@Data终于生效了。之所以会自动给变量加上final修饰符,是因为我设置了Save Action,Eclipse会自动在我保存代码的时候自动在私有变量、局部变量前加上final修饰符,这个是公司制定的代码编程规范。

原文链接:https://blog.csdn.net/lewky_liu/article/details/83352443

posted @   horizon~~~  阅读(785)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决
历史上的今天:
2013-05-05 ORACLE 数据库 SQL 转换 只取 年和月
点击右上角即可分享
微信分享提示