首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >踩坑-编译错误:FastJson与lombok导致找不到符号:方法getId()

踩坑-编译错误:FastJson与lombok导致找不到符号:方法getId()

作者头像
关忆北.
发布2022-05-05 15:07:52
1.9K0
发布2022-05-05 15:07:52
举报
文章被收录于专栏:关忆北.关忆北.

编译错误:FastJson与lombok导致找不到符号:方法getId()

在启动项目或编译项目时,假如遇到java 找不到符号 符号: 方法getId()位置:类型为javaxxxx的问题时,通常是由于lombok的问题导致的,一般解决思路为:

  1. 查看IDEA是否安装lombok插件,如果未安装则去IDEAsettings -> plugin安装即可。
  2. 若安装lombok插件后仍出现该问题,则需要检查编译失败的类中是否出现了冲突的lombok注解,如:@Data、@Builder等,可暂时将注解完成的功能使用手动实现get/set方法,重新编译查看是否解决。
  3. 若依然出现该问题,可查看fastjson与lombok是否同时被引入至项目中,两者可能因版本问题导致该问题。

笔者在实际开发中,遇到了因JSON.parseObject(lombokEntity.getData(), HashMap.class);导致该问题。

现象是仅有该类无法报错找不到符号。

代码示例:

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@ToString
public class LombokEntity {
    private Integer id;
    private String name;
    private String data;
}
public class LombokTest {
    public static void main(String[] args) {
        LombokEntity lombokEntity = new LombokEntity();
        lombokEntity.setData("{\"id\":\"111\",\"name\":\"sssss\"}");
        HashMap<String ,String> hashMap = JSON.parseObject(lombokEntity.getData(), HashMap.class);
    }
}

删掉JSON.parseObject(lombokEntity.getData(), HashMap.class);即可解决该问题。查询fastjson的issues未找到原因。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-03-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 编译错误:FastJson与lombok导致找不到符号:方法getId()
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档