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

Posted 九师兄

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java踩坑-编译错误:FastJson与lombok导致找不到符号:方法getId相关的知识,希望对你有一定的参考价值。

1.概述

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

编译错误: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);
    

以上是关于java踩坑-编译错误:FastJson与lombok导致找不到符号:方法getId的主要内容,如果未能解决你的问题,请参考以下文章

Spark使用踩坑完全(并不)指南

Spark使用踩坑完全(并不)指南

fastjson踩坑之put

踩坑 —— Eclipse MAVEN编译

iOS11+Xcode9适配踩坑大全(下拉刷新,编译错误, Swift第三方等)

踩坑:HashMap与String字符串互转的问题