1

我正在使用 Immutables-value 来定义我的 POJO。当它生成 Immutable* 类时,它的顶部有 @Generated 注释。有什么办法可以禁用它吗?

我检查了他们的代码库: https ://github.com/immutables/immutables/blob/master/value-annotations/src/org/immutables/value/Generated.java#L22-L27

这里提到它可以通过以下方式禁用:Style#allowedClasspathAnnotations()

我在 POJO 接口上使用它,如下所示:

@Value.Style(allowedClasspathAnnotations = {org.immutables.value.Generated.class})

但是我仍然在生成的类之上获得了 @Generated 注释。知道我该怎么做吗?

4

1 回答 1

0

@Style 的allowedClasspathAnnotations属性将您在其中包含的注释列入白名单(而不是将它们列入黑名单)。见这里

因此,如果您只想禁用org.immutables.value.Generated,则应该执行以下操作:

@Value.Style(allowedClasspathAnnotations = {
  javax.annotation.concurrent.Immutable,
  javax.annotation.ParametersAreNonnullByDefault,
  javax.annotation.CheckReturnValue,
  edu.umd.cs.findbugs.annotations.SuppressFBWarnings,
  com.google.errorprone.annotations.Var,
  com.google.errorprone.annotations.Immutable
})

将要保留的注释列入白名单。

于 2019-11-11T15:17:15.320 回答