Image() 已经在使用 Lombok 的 Maven 构建期间在类中定义

Ale*_*ith 5 java maven lombok

以下代码在使用 Maven 构建时导致编译错误 ( Image() is already defined in class) @NoArgsConstructor

import lombok.Data;
import lombok.NoArgsConstructor;

// tag::code[]
@Data
@NoArgsConstructor
public class Image {

    private int id;
    private String name;

    public Image(int id, String name) {
        this.id = id;
        this.name = name;
    }
} 
Run Code Online (Sandbox Code Playgroud)

是什么导致了这个问题,我该如何解决?

编辑:龙目岛版本是 1.16.22。

Tom*_*ski 5

由于 Lombok v1.16.22 中的错误,在类上同时指定@Data和 会@NoArgsConstructor触发错误。这已在主要版本 v1.18.0 中修复。

Lombok 更新日志中,我们在 v1.18.0 下找到以下内容:

BUGFIX:如果破坏代码,请不要生成私有的无参数构造函数。问题 #1703问题 #1704问题 #1712