Sonarqube IntelliJ(和Maven)中的SonarLint根据类路径检测误报

Sonarqube IntelliJ(和Maven)中的SonarLint根据类路径检测误报,sonarqube,sonarlint,sonarlint-intellij,Sonarqube,Sonarlint,Sonarlint Intellij,我们有一个自定义库,它提供了一个方法Strings.isFilled,确保给定的字符串既不是null也不是空的。() 如果我们现在有这样一个模式: public void someMethod(@Nullable String param) { if (Strings.isFilled(param)) { methodWithNonNullParameter(param); } } private void methodWithNonNullParameter(

我们有一个自定义库,它提供了一个方法
Strings.isFilled
,确保给定的字符串既不是null也不是空的。()

如果我们现在有这样一个模式:

public void someMethod(@Nullable String param) {
    if (Strings.isFilled(param)) {
        methodWithNonNullParameter(param);
    }
}

private void methodWithNonNullParameter(@Nonnull String param) {
    LOG.FINE(param);
}
然后Sonarint将触发规则S2637:“@NonNull”值不应设置为null。但是:如果我们手动设置sonar.java.libraries,并且只将本地maven存储库中的库(sirius kernel.jar)放入其中,那么分析就可以工作了

IntelliJ和Maven是否都为SonarLint提供了太多的库,以至于它开始忽略一些库?使用maven和调试日志时, 然后
sonar:sonar
愉快地报告它使用了类路径中的所有库, 它可以找到所有必需的类并报告没有错误