Java I get Non-null字段未由带有@Inject的字段上的new初始化
我在一个EclipseRCP环境中工作,我得到了一个带有一些注入字段的服务类Java I get Non-null字段未由带有@Inject的字段上的new初始化,java,dependency-injection,eclipse-rcp,sonarqube,findbugs,Java,Dependency Injection,Eclipse Rcp,Sonarqube,Findbugs,我在一个EclipseRCP环境中工作,我得到了一个带有一些注入字段的服务类 public class LContextService implements ILContextService { @Inject private IEclipseContext applicationContext; @Nullable private LContext activeContext; @PostConstruct public voi
public class LContextService implements ILContextService {
@Inject
private IEclipseContext applicationContext;
@Nullable
private LContext activeContext;
@PostConstruct
public void postConstruct() {
this.applicationContext.set(ILContextService.class, this);
}
@Override
public LawsuitContext activateLContext(String context) {
this.activeContext = this.someOtherHelperClass.setContext(context);
return this.activeContext;
}
....
}
因为这个类只会被依赖注入系统使用,所以我省略了默认构造函数,并用@Inject注释字段,以使代码尽可能精简。
包默认值为@NonNullByDefault
由于初始化该类时applicationContext始终可用,因此默认的非空注释是正确的,但是每当我注入这样的字段时,sonar错误就会出现
我能在不完全删除规则的情况下消除这些错误吗
注意:我只是想澄清一下,我正在实现一些不同的上下文,activeContext字段与eclipse上下文或类似的内容无关。我想,这不是FindBugs警告,而是eclipse警告?如果是,请删除
findbugs
tag.No。错误来自声纳分析插件。当我在代码上运行sonar runner时,错误也会出现在sonar页面上。我想,这不是FindBugs警告,而是Eclipse警告?如果是,请删除findbugs
tag.No。错误来自声纳分析插件。当我在代码上运行sonar runner时,错误也会出现在sonar页面上。我想,这不是FindBugs警告,而是Eclipse警告?如果是,请删除findbugs
tag.No。错误来自声纳分析插件。当我在代码上运行sonar runner时,在sonar页面上也可以看到该错误。