Lombok: @Value 和 @FieldDefaults 应该跳过静态字段

创建于 2016-12-05  ·  3评论  ·  资料来源: projectlombok/lombok

@Value@FieldDefaults将 private 和 final 修饰符添加到字段中。 此行为受@NonFinal@PackagePrivate

例如字段,这是有道理的。 但是对于包私有静态非最终字段,这是添加@Value的意外副作用

最有用的评论

我只是将我的 Lombok JAR 从 1.16.10 升级到 1.16.16 并且这个“更正”刚刚杀死了我的所有项目。

我非常简单的用例是把@UtilityClass@FieldDefaults(makeFinal = true, level = AccessLevel.PUBLIC)放在一个类来存储我的常量。

现在,我所有项目中的一切都被破坏了,这使得 Lombok 对这种配置毫无用处。
我回去手动做所有事情。

所有3条评论

是否可以在@FieldDefaults 中添加对静态字段的可选支持?

我只是将我的 Lombok JAR 从 1.16.10 升级到 1.16.16 并且这个“更正”刚刚杀死了我的所有项目。

我非常简单的用例是把@UtilityClass@FieldDefaults(makeFinal = true, level = AccessLevel.PUBLIC)放在一个类来存储我的常量。

现在,我所有项目中的一切都被破坏了,这使得 Lombok 对这种配置毫无用处。
我回去手动做所有事情。

另一个简单的用例:在我的“POJO beans”(例如: <strong i="5">@Entity</strong> @Data序列化类)上,我使用@FieldDefaults(level = AccessLevel.PRIVATE) ,当然几乎每个人都使用 Lombok。
现在我必须手动写入serialVersionUID是私有的。

但是,事实上,我在“lombok.config”文件中使用它来默认在整个项目中使用它。 所以我必须搜索我所有的静态字段并在需要时手动将它们设为私有......

它看起来像两件小事(结合我之前的帖子),但在我工作的大公司中,因为所有新(最近 2 年)创建的应用程序(至少有十几个)都使用父 Maven 依赖项配置,包括 Lombok ,那个修改之王在更新时需要做的工作并不多......

此页面是否有帮助?
0 / 5 - 0 等级