Java 如何在spring application.properties中设置lombok.equalsAndHashCode.callSuper=call?

Java 如何在spring application.properties中设置lombok.equalsAndHashCode.callSuper=call?,java,spring,lombok,Java,Spring,Lombok,我在Hibernate实体上使用Lombok,并具有继承性: @MappedSuperclass @Data public class BaseEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private Boolean enabled; public BaseEntity() { enabled = true;

我在Hibernate实体上使用Lombok,并具有继承性:

@MappedSuperclass
@Data
public class BaseEntity {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private Boolean enabled;
    public BaseEntity() {
        enabled = true; 
    }
}

@Entity
@Data
public class Event extends BaseEntity {
    private String name;
    private LocalDateTime start;
    private LocalDateTime end;
    private Boolean isTaxable;
}
Eclipse对child@Data发出警告:

生成equals/hashCode实现,但不调用 超类,即使该类不扩展java.lang.Object。 如果这是有意的,请添加'@EqualsAndHashCode(callSuper=false)' 适合你的类型

如前所述

我可以用

lombok.equalsAndHashCode.callSuper = call
如何在spring application.properties文件中使用此属性?我应该在application.properties附近创建lombok.config文件并将其放在那里吗?

我试图将其添加到application.properties

lombok.equalsAndHashCode.callSuper = call

但是Eclipse说这个属性未知,并且子类@Data annotation上的警告仍然存在。

因为lombok是一个注释处理器,所以它在编译期间完成它的工作。因此,在构建项目时,需要在lombok中配置的所有内容都必须存在

您必须将所有lombok配置选项放入名为
lombok.config
的文件中。此文件通常放置在项目根文件夹中。有关详细信息,请参阅。(请注意,此文件不会包含在构建的工件中,例如JAR文件。)


您不能在运行时配置lombok(例如,使用
应用程序.properties
)。

尽管Eclipse在编译之前会看到getter和setter、@Slf4j注释等。我认为EclipseLombok插件还应该知道Lombok.config文件中设置的属性。或者它不是?Eclipse应该能够识别它。要使设置生效,您可能必须执行清理/重新编译。确保在Eclipse中安装了lombok插件的当前版本1.18.2(请参阅“关于Eclipse”对话框)。如果这没有帮助,并且警告在Eclipse中仍然存在,但是使用maven或gradle编译时肯定没有警告,请在上提交一个bug,并说明如何复制。当我使用Lombok gradle插件时,Lombok.config文件被删除我的配置的插件覆盖。