Reflection 使用getAnnotations无法读取字段上的lombok@NonNull

Reflection 使用getAnnotations无法读取字段上的lombok@NonNull,reflection,annotations,lombok,Reflection,Annotations,Lombok,例如: @Value @Builder(toBuilder = true) @AllArgsConstructor(access = AccessLevel.PUBLIC) public class A { // // RecordRootable fields // @NonNull private UUID a; } 查看类文件,如果IntelliJ反编译器没有说谎,@NonNull注释似乎存在 现在,我们希望在运行时使用Field.getAnnot

例如:

@Value
@Builder(toBuilder = true)
@AllArgsConstructor(access = AccessLevel.PUBLIC)
public class A {
    //
    // RecordRootable fields
    //
    @NonNull
    private UUID a;
}
查看类文件,如果IntelliJ反编译器没有说谎,@NonNull注释似乎存在

现在,我们希望在运行时使用Field.getAnnotations或类似的方法从字段中读取注释,但找不到任何内容

有什么特别的方法可以用来阅读这个注释吗


为了能够阅读注释,我还需要在注释中添加其他内容吗?

似乎注释已经完成 @RetentionPolicy.CLASS 而不是 @RetentionRetentionPolicy.RUNTIME
因此它们不能被反射性地读取

此外,Lombok在编译过程中删除了它的所有注释,因为编译后的代码中不应该存在任何对Lombok的运行时依赖性。