java – 如何对同一行代码抑制多个FindBugs警告
我最近发现了FindBugs的@ edu.umd.cs.findbugs.annotations.SuppressWarnings注释,这是非常酷的,并允许你基本上告诉FindBugs忽略某些警告.
我已经成功地实施了我自己的SLF4J绑定,遵循他们的建议,采取slf4j简单,并用自己的记录器和记录器工厂绑定修改它,我很高兴地说它的作用就像一个魅力. 我刚刚在包含这个SLF4J绑定的包中发现错误,并且抱怨原始StaticLoggerBinder作者(Ceki Gulku)写的一行代码: // to avoid constant folding by the compiler,this field must *not* be final. publicstatic String REQUESTED_API_VERSION = "1.6"; // !final FindBugs抱怨说这个字段“不是最终的,但应该是”.然而,在SLF4J上的(非常)聪明的人已经想到了这一点,并放在上面提供的周围的意见. 所以,只是为了让FindBugs关闭,我修改了代码,按照我通常的方式来抑制FB警告: @edu.umd.cs.findbugs.annotations.SuppressWarnings("MS_SHOULD_BE_FINAL") public static String REQUESTED_API_VERSION = "1.6"; 当我清理我的项目并重新运行FindBugs时,我在同一行代码上得到第二个警告,这次抱怨:
当我添加第二个警告抑制: @edu.umd.cs.findbugs.annotations.SuppressWarnings("MS_SHOULD_BE_FINAL") @edu.umd.cs.findbugs.annotations.SuppressWarnings("URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD") public static String REQUESTED_API_VERSION = "1.6"; 我从Eclipse得到一个编译器/语法错误:
如何在同一行代码上抑制多个FindBugs警告? 解决方法
只需在单个注释中列出数组中的所有警告标识符:
@edu.umd.cs.findbugs.annotations.SuppressWarnings({ "MS_SHOULD_BE_FINAL","URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD"}) public static String REQUESTED_API_VERSION = "1.6"; 就像标准java.lang.SuppressWarnings一样,FindBugs版本也是has a parameter of type (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |