- 编译代码,报错截图如下
- 随便找一个错误,Ctrl+G查找错误所在代码位置
- 跟踪进去发现该类使用了lombok的相关注解
@Data
public class Person {
private Integer id;
private String name;
public void sayHello() {
System.out.println("hello...");
}
}
使用lombok是为了省略类的getter/setter/构造器/toString等常用方法,使类看起来更整洁。使用这个注解配套的在idea上要下载lombok插件来支持这种功能。但是idea上下载的插件一般都是最新版本的plugin,可能与旧版本的lombok jar包有冲突。
- 解决:升级lombok版本即可
我的版本由1.16.6升级到1.16.22就不报错了。
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.22</version>
</dependency>
本来不想写这篇的,解决方法也很简单。我当时是查了许久《java: 错误: 找不到符号》都没找到答案,最后还是在国外的网站看到的提示,记录到这里也是为了给国内程序员省点宝贵的时间吧。
续~
如果你的错误跟Lombok无关,而且编译报错的地方,都是该模块间接依赖的jar中的类
,请参考:无法编译Maven间接依赖的类