[英]SonarQube false-positive “unused private methods should be removed” in static method
示例代码:
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))的东西时)。 SomeClass.getChar()返回'char',因此装箱原语不是问题。
解决方案:正如@Michael-SonarSource团队建议的那样,依赖项字节码存在问题。 我禁用了teamcity Sonar跑步程序插件,现在通过Gradle插件运行声纳。
很多时候声纳服务器和声纳皮棉同步存在问题,这与单个问题无关,它也在其他问题中被复制,例如重复代码。请参考声纳服务器并尝试解决
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.