我已经将Lombok与IntelliJ一起使用了一段时间。我已经安装了最新的(v。0.28)Lombok插件,启用了注释处理,并在pom.xml中添加了Lombok依赖项(v。1.18.10)。直到今天,当我想要实现实验性 @SuperBuilder 时,一切都运行良好。
我有一个简单的层次结构:
@SuperBuilder
public class User {
private String a;
}
@SuperBuilder
public class Employee extends User {
private int b;
}
@SuperBuilder
public class Employer extends User {
private double c;
}
我想在 child 的构建器中设置父类的字段,例如:
Employee.builder().a("Positive").b(1).build();
Employer.builder().a("Negative").c(-2.1).build();
乍一看似乎一切正常-打开文件并且构建器没有问题时,不会显示任何错误。但是在执行mvn clean编译后,我在每个@SuperBuilder行上都得到以下结果(即在这3个类的每一个中):
Error:(20) java: cannot find symbol
我在这里想念什么?我尝试更新Lombok插件版本并重新安装,但没有成功。
最佳答案
我遇到了同样的问题,将 @SuperBuilder
添加到所有“基本”类中解决了该问题。
前:
abstract class Parent {
...
}
@SuperBuilder
class Child extends Parent {
...
}
后:
@SuperBuilder // <- addded
abstract class Parent {
...
}
@SuperBuilder
class Child extends Parent {
...
}
关于java - Lombok 的@SuperBuilder-错误Java : cannot find symbol,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59626796/