在启动项目或编译项目时,假如遇到java 找不到符号 符号: 方法getId()位置:类型为javaxxxx
的问题时,通常是由于lombok的问题导致的,一般解决思路为:
settings -> plugin
安装即可。@Data、@Builder
等,可暂时将注解完成的功能使用手动实现get/set
方法,重新编译查看是否解决。笔者在实际开发中,遇到了因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未找到原因。