You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:Lombok @Data注解无法为Product类生成Getter/Setter

Lombok @Data注解无法生成Getter/Setter的问题排查与机制解析

Lombok生成Getter/Setter的核心机制

  • Lombok是编译期注解处理器,只在代码编译阶段工作。当你编译Java类时,Lombok会扫描带有@Data、@Getter/@Setter等注解的类,直接在编译后的字节码文件中插入对应的Getter、Setter、toString等方法,不会修改你编写的.java源文件。
  • @Data是一个组合注解,包含了@Getter、@Setter、@ToString、@EqualsAndHashCode、@RequiredArgsConstructor的功能。只要类上标注了@Data,非static的字段都会自动生成Getter方法,非final的字段会自动生成Setter方法。

问题排查与解决步骤

1. Eclipse未安装Lombok插件

Eclipse默认不支持识别Lombok编译期生成的方法,必须安装对应插件:

  • 下载与你依赖版本一致的Lombok jar包,双击jar包,选择你的Eclipse安装路径,点击Install/Update后重启Eclipse。
  • 或者在Eclipse Marketplace搜索「Lombok」,找到Lombok Plugin安装完成后重启IDE。

2. 字段修饰符的特殊情况

你的Product类字段使用public修饰,Lombok依然会生成对应的Getter/Setter方法,但Eclipse可能因为字段本身可直接访问,不会主动提示这些方法——但编译后的字节码里确实存在这些方法。如果编译时直接报错,那还是插件或配置的问题。

3. 构建工具依赖配置错误

检查Maven/Gradle的Lombok依赖是否正确配置:

Maven依赖示例:

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.30</version>
    <scope>provided</scope>
</dependency>

Gradle依赖示例:

compileOnly 'org.projectlombok:lombok:1.18.30'
annotationProcessor 'org.projectlombok:lombok:1.18.30'

注意:Gradle必须同时添加annotationProcessor依赖,否则Lombok的注解处理器无法生效。

4. Eclipse注解处理器未启用

  • 打开Eclipse的Window > Preferences > Java > Compiler > Annotation Processing,勾选「Enable annotation processing」。
  • 切换到Factory Path选项卡,添加Lombok的jar包,点击Apply后重启Eclipse。

5. 项目未重新编译

修改配置后,右键项目选择Project > Clean,再重新编译项目,确保Lombok重新生成对应的字节码方法。

内容的提问来源于stack exchange,提问作者Le Trong Hung FPL HCM

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 00:05:08