Я добавил JAR-файл Lombok в STS (затмение). Я использую Lombok для создания объекта, используя builder()
. Но я столкнулся с проблемой наследования. Если я использую шаблон Lombok для создания объектов, он работает в рабочей области и в исполняемом файле JAR. Но, если я использую шаблон построителя Lombok для создания объектов, которые наследуют другого объекта, то это не работает.
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
class BaseEmp {
private int a;
private int b;
}
@Data
@NoArgsConstructor
@Builder
class Emp extends BaseEmp implements Serializable {
private static final long serialVersionUID = 1L;
@Builder
public Emp(int a, int b) {
super(a, b);
}
}
Emp emp = Emp.builder.a(ipA).b(ipB).build();
В этом, когда я печатаю объект, значения a и bnull
в JAR и работают в STS.
Но, когда я преобразовал в создание обычного объекта в рабочей области и JAR, в обоих местах это работает.
Значит, после компиляции, Lombokпроцессор как-то пропускает поле класса наследования.