当前位置: 首页 > 面试题库 >

有没有办法忽略单个FindBugs警告?

李良策
2023-03-14
问题内容

使用PMD,如果要忽略特定的警告,则可以// NOPMD使该行被忽略。

FindBugs有类似的东西吗?


问题答案:

FindBugs的初始方法涉及XML配置文件(也称为过滤器)。这确实不如PMD解决方案方便,但是FindBugs只能在字节码上工作,而不能在源代码上工作,因此注释显然不是一个选择。例:

<Match>
   <Class name="com.mycompany.Foo" />
   <Method name="bar" />
   <Bug pattern="DLS_DEAD_STORE_OF_CLASS_LITERAL" />
</Match>

但是,为解决此问题,FindBugs稍后引入了另一个基于注释的解决方案(请参阅参考资料SuppressFBWarnings),您可以在类或方法级别使用它(在我看来比XML更方便)。例子(也许不是最好的例子,但是,这只是一个例子):

@edu.umd.cs.findbugs.annotations.SuppressFBWarnings(
    value="HE_EQUALS_USE_HASHCODE", 
    justification="I know what I'm doing")

请注意,由于与Java的名称冲突SuppressWarnings@SuppressFBWarnings因此不建议使用FindBugs 3.0.0
SuppressWarnings



 类似资料:
  • 我有一个json看起来像这样: 如您所见,loc对象有时是json对象,有时是双数组。在不编写自定义反序列化程序的情况下,有没有办法避免,并在loc对象是json对象而不是双数组时将其设置为null。

  • 问题内容: 我正在使用MySQL GUI,通过选择某些表并将从备份转储生成的语句运行到空表(新模式)中,以将某些站点迁移到CMS的新版本。旧表中有几列在新表中不存在,因此脚本会因以下错误而停止: 脚本行:1个“字段列表”中的未知列“ user_id” 挑选要导出的所需列,或编辑转储文件将非常乏味且耗时。要解决此问题,我将在生成错误时创建未使用的列,通过运行查询导入数据,然后在处理完该表后删除未使用

  • 问题内容: 是否有可能以某种方式忽略此错误?我发现将自己不想运行的代码放在前面比注释它要容易得多(当注释重叠并且表现不佳时)… 问题答案: 否。这是编译时错误。因此,在运行课程之前,您 必须 摆脱它。 我通常要做的是在其前面放置一个虚假陈述。就像是: 使用此代码,您将不会出错。您将得到想要的东西。

  • 问题内容: 我试图将下拉菜单添加到已经具有全局“选择”样式的页面。有没有办法告诉新选择列表忽略全局样式?有大约1到2亿个使用全局样式的现有下拉列表,因此我不想重构现有的html。 问题答案: 没有简单的方法可以执行您要的操作,一种方法是创建一个CSS类,该类将重置特定元素及其子元素的所有适当属性,以使其更加完整,这是一个很好的起点特定于元素的CSS重置

  • 在加载时,Spring容器初始化bean。。。当它发现与Bean相关的错误时,它会停止并回滚(不是确切的术语)。。。我知道。 这是我们的条件。我们正在开发一种网络应用系统。(它很大)有几千个Spring bean。我们的客户要求如下。“在WAS重启过程中,即使一个或几个Bean有问题(加载时错误),忽略这些,系统必须继续......” 我们已经通过修改Spring的源代码满足了这个要求。。。但我认

  • 我可以在写入之前读取表,并在写入新行之前删除匹配行。 阅读后,我可以筛选应用程序中的行。 我不喜欢这两个解决方案,因为它们似乎太复杂了,性能是一个很大的问题。有更好的办法吗?