java Eclipse @NonNullByDefault错误,lombok类使用@Value

gxwragnw  于 2023-04-10  发布在  Java
关注(0)|答案(1)|浏览(155)

bounty还有3天到期。回答此问题可获得+50声望奖励。kulatamicuda希望引起更多关注此问题。

我正在使用Spring Tool Suite 4.18.0(基于Eclipse)和Lombok v1.18.26,在lombok.config中配置如下:

config.stopBubbling = true 
lombok.addLombokGeneratedAnnotation = true
lombok.noArgsConstructor.extraPrivate = false
lombok.addNullAnnotations = eclipse

在我的www.example.com中package-info.java我有:

@org.eclipse.jdt.annotation.NonNullByDefault
package bb.b;

在包bb.b中,我有以下类:

package bb.b;

import lombok.Value;

@Value
public class Test {

}

我得到以下错误:
非法重新定义参数o,从Object继承的方法不约束此参数
如何配置Eclipse Null检查以很好地与Lombok配合使用?

igetnqfo

igetnqfo1#

不幸的是,我不认为有一个很好的解决你的问题...
HEADSUP:我们已经改变了它的工作方式。我们不会去寻找@NonNullByDefault注解;这些通常是在软件包上找到的,这会花费大量的时间和复杂性来找到,所以现在无论lombok是否生成注解都太“巫毒魔法”了(很难解释为什么我们在类中看到它,而在包中却看不到!)。(非空),在这种情况下,我们看不到任何提示我们需要这样做的东西。因此,相反,有一个lombok.config键,您可以在其中配置您想要的空注解的“风味”,然后lombok将在所有相关的地方生成它们(toString,equals,canEqual,withX,以及构建器的@Singular属性的复数形式)。这也涵盖了与issue 2221相关的nullity注解。
@cf:https://github.com/projectlombok/lombok/issues/788#issuecomment-579276102
Lombok的开发者似乎已经放弃了……他认为在包级别生成非空检查是一个坏主意……
@cf:https://github.com/projectlombok/lombok/issues/788#issuecomment-318316538
即使我在全球范围内都同意他似乎是一个坏主意,系统地做一个非空检查,我认为你可能有合法的需要,你可能会看到如何创建自己的注解,并添加到lombok.config与一个CUSTOM:fully.qualified.NonNullAnnotation值在lombok.addNullAnnotations参数 (此功能是在lombok v1.18.12中添加的)
@cf:https://projectlombok.org/features/configuration中的全局配置密钥
GLHF ;)

相关问题