Java Lombok生成的构造函数不带@Nonnull注释

Java Lombok生成的构造函数不带@Nonnull注释,java,constructor,lombok,non-nullable,Java,Constructor,Lombok,Non Nullable,我正在使用Lombok生成POJO。我用javax.annotation.Nonnull注释了一堆字段,我希望这个注释会自动传输到构造函数。 然而,这并没有发生,Lombok似乎完全忽略了此注释,并且在使用此字段的@Nullable值时不会生成任何警告 当构造函数由IDE生成时,一切都按预期工作。这也适用于getter/setter我已经尝试将javax.annotation.Nonnull添加到lombok.copyableAnnotations中,并添加javax.annotation.pa

我正在使用Lombok生成POJO。我用
javax.annotation.Nonnull
注释了一堆字段,我希望这个注释会自动传输到构造函数。
然而,这并没有发生,Lombok似乎完全忽略了此注释,并且在使用此字段的
@Nullable
值时不会生成任何警告

当构造函数由IDE生成时,一切都按预期工作。这也适用于getter/setter
我已经尝试将
javax.annotation.Nonnull
添加到
lombok.copyableAnnotations
中,并添加
javax.annotation.parameters默认情况下为nnull
注释,但均无效

@Data
class TestObject {
  @Nonnull private String nonnull;
}

TestObject testObject = new TestObject(null); <-- no warning
testObject.setNonnull(null); <-- warning generated
@数据
类TestObject{
@非空私有字符串非空;
}
TestObject TestObject=新的TestObject(空) 这是因为Lombok只扫描
@Lombok.NonNull
。请参见以下示例:

@lombok.RequiredArgsConstructor
public class LombokNoNull {
    @lombok.NonNull
    private String lombokRequires;
    @javax.validation.constraints.NotNull
    private String lombokDoesNotRequire;
    @javax.annotation.Nonnull
    private String lombokDoesNotRequireEither;

    public static LombokNoNull newInstance() {
        // for this class the required args constructor contains only field
        // "lombokRequires"
        return new LombokNoNull("stringRequiredByLombok");
    }
}
这是因为Lombok只扫描
@Lombok.NonNull
。请参见以下示例:

@lombok.RequiredArgsConstructor
public class LombokNoNull {
    @lombok.NonNull
    private String lombokRequires;
    @javax.validation.constraints.NotNull
    private String lombokDoesNotRequire;
    @javax.annotation.Nonnull
    private String lombokDoesNotRequireEither;

    public static LombokNoNull newInstance() {
        // for this class the required args constructor contains only field
        // "lombokRequires"
        return new LombokNoNull("stringRequiredByLombok");
    }
}