Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java “应为假阳性”;“应删除未使用的私有方法”;静态法_Java_Sonarqube - Fatal编程技术网

Java “应为假阳性”;“应删除未使用的私有方法”;静态法

Java “应为假阳性”;“应删除未使用的私有方法”;静态法,java,sonarqube,Java,Sonarqube,示例代码: public static String foo(){ return bar(); } private static String bar(){ return ""; } SonarQube将bar()函数标记为未使用,但SonarLint(IntelliJ,版本2.7.1.1640)工作正常。 我已经安装了最新版本的SonarQube(6.2)和最新版本的Java插件(4.5.0.8398),但仍然存在这个问题-我认为这个问题已经解决了? 这是某种回归错误吗? 谢谢你的帮助

示例代码:

public static String foo(){
 return bar();
}

private static String bar(){
 return "";
}
SonarQube将bar()函数标记为未使用,但SonarLint(IntelliJ,版本2.7.1.1640)工作正常。 我已经安装了最新版本的SonarQube(6.2)和最新版本的Java插件(4.5.0.8398),但仍然存在这个问题-我认为这个问题已经解决了? 这是某种回归错误吗? 谢谢你的帮助

更新:

上面的示例太琐碎了,我设法指定了问题:它看起来像是传递给函数的原始参数的问题,例如,它被标记为未使用:

public static String foo( SomeClass a ) {
    return bar( a.getChar() );
  }

  private static String bar( char a ) {
    return String.valueOf( a );
  }
如果我将硬编码的值传递给bar(比如bar('a')),一切正常(甚至当我传递bar(“string.charAt(0)))。getChar()返回“char”,因此装箱原语没有问题

解决方案:
正如@Michael-sonasource团队所建议的,依赖关系字节码存在问题。我禁用了teamcity Sonar runner插件,现在通过Gradle插件运行sonarqube。

很多时候,Sonar服务器和Sonar lint的同步出现了一些问题,这不是一个问题,在其他问题中也会出现重复代码。请参考sonar server并尝试解决

很多时候,sonar server和sonar lint的同步出现了一些问题,这不是一个问题,它也会在其他问题中复制,如重复代码。请参考sonar服务器并尝试解决

在SonarQube上的某个支持论坛或bug追踪器上询问此问题如何?无法使用相同的配置复制。你确定在为SonarQube执行分析时提供了文件的字节码吗?John-你是对的,我应该而且可能会将此作为错误发送给SonarQube,但我想确定这不是我的错误@Michael SonarSourceTeam-请查看我的更新。@szymonszymon在我看来,分析器没有访问“SomeClass”字节码的权限,因此无法解析方法调用的返回类型。如果该方法也返回“char”,则这不是简单的装箱问题。SonarLint应正确提供依赖项,而SonarQube扫描不正确。如何执行SonarQube分析?@Michael SonarSourceTeam我通过Teamcity中的Sonar runner插件(版本116)执行SonarQube分析,这是我的构建步骤之一。在SonarQube上的某个支持论坛或bug追踪器上问这个问题如何?无法以相同的配置重现。你确定在为SonarQube执行分析时提供了文件的字节码吗?John-你是对的,我应该而且可能会将此作为错误发送给SonarQube,但我想确定这不是我的错误@Michael SonarSourceTeam-请查看我的更新。@szymonszymon在我看来,分析器没有访问“SomeClass”字节码的权限,因此无法解析方法调用的返回类型。如果该方法也返回“char”,则这不是简单的装箱问题。SonarLint应正确提供依赖项,而SonarQube扫描不正确。如何执行SonarQube分析?@Michael SonarSourceTeam我通过Teamcity(116版)中的Sonar runner插件执行SonarQube分析,这是我的构建步骤之一。你说的“参考Sonar服务器并尝试解决”是什么意思!?在我看来,这更像是SonarQube分析的配置错误,而SonarLint本身的性能很好。您所说的“参考sonar服务器并尝试解决”是什么意思!?在我看来,这更像是SonarQube分析的配置错误,而SonarLint本身表现良好。