有没有可能关闭sonar(www.sonarsource.org)对特定代码块的测量,哪一块代码不想被测量?
Findbugs输出的“保留堆栈跟踪”警告就是一个例子。离开服务器时,如果客户机不知道异常,我可能只想将消息传递回客户机,而不包括刚刚捕获的实际异常(例如,因为客户机没有包含该异常的JAR)。
这是常见问题解答。您可以在触发警告的行的末尾放置NOSONAR。
<代码>//NOSONAR
对于大多数语言,SonarQube支持使用通用机制:问题行末尾的NOSONAR。这将抑制现在和将来可能在网上提出的所有问题。
不过,我更喜欢使用FindBugs机制,它包括添加@SuppressFBWarnings注释:
@edu.umd.cs.findbugs.annotations.SuppressFBWarnings(
value = "NAME_OF_THE_FINDBUGS_RULE_TO_IGNORE",
justification = "Why you choose to ignore it")
我建议您尝试使用SuppressWarnings(“squid:S2078”)来抑制特定警告。
要抑制多个警告,您可以这样做@SuppressWarings({"squid: S2078","squid: S2076"})
还有一条注释告诉SonarQube忽略特定行的所有错误。
最后,如果您对用户界面拥有适当的权限,您可以直接从界面发出一个误报标志。
我建议抑制特定警告的原因是,更好的做法是阻止特定问题,而不是使用NOSONAR,并冒着声纳问题在代码中意外蔓延的风险。
您可以在常见问题解答中阅读有关此的更多信息
编辑:2016年6月30日SonarQube现在被称为Sonarint
如果你想知道如何找到乌贼号。只需单击Sonar消息(例如,删除此方法以简单地继承它),Sonar问题就会扩大。
左下角有squid编号(例如,squid:S1185
因此,您可以通过SuppressWarnings(“squid:S1185”)
您可以使用SubpressWarning注释类或方法
@java.lang.SuppressWarnings("squid:S00112")
鱿鱼:在这种情况下,S00112是Sonar问题ID。您可以在Sonar UI中找到此ID。转到问题钻取。找到您想要抑制警告的问题。在代码中的红色问题框中有一个规则链接,其中包含给定问题的定义。单击后,您将在页面顶部看到ID。
问题内容: 是否可以为特定的代码块关闭声纳(www.sonarsource.org)测量,而哪些是不想测量的? 一个示例是Findbugs输出的“保留堆栈跟踪”警告。离开服务器时,如果客户端不知道该异常,我可能只想将消息传递回客户端,而不包括我刚刚捕获的实际异常(因为该客户端没有该JAR,例如包含例外)。 问题答案: 这是一个常见问题解答。您可以在线上触发警告。我更喜欢使用FindBugs机制,该
我们能比较詹金斯和声纳吗?如果是,怎么做。我想知道詹金斯和声纳的优缺点。比如为什么要使用声纳,它比詹金斯有什么优势,反之亦然?
如何关闭SonarQube 4中的代码覆盖?我在单元测试中使用了JMockit,在Sonar中使用了JaCoCo代码覆盖插件。它们冲突是因为它们使用不同的JavaAgent来编辑类的字节码(如我所知)。我想关闭声纳中的代码覆盖。我可以在Jacoco的设置中排除我的项目,但这没有帮助。
持续按住音量 +和音量 -键直到显示(静音)为止。 再次按下音量 +或音量 -键即可恢复原有音量。
我正在编写我的系统编程课程作业(使用线程)。 我的活动类实现runnable,我还有另一个类,其中有一个执行器,它使用:
问题内容: 如果我在finally块中将其关闭,为什么Jenkins的SonarQube插件会抱怨open语句? (我需要在单独的函数中验证数据库连接。) 问题答案: 我已经按照@TT的建议以这种方式重构了代码,而声纳 不再抱怨 。 没有“ try-with-resource”,代码可以按以下方式重构,但是在这种情况下,Sonar 仍然抱怨 :