【问题标题】:FindBugs not showing the bugs foundFindBugs 未显示找到的错误
【发布时间】:2011-09-17 17:48:12
【问题描述】:

我之前使用过 FindBugs 并且没有遇到任何问题,但是这次在 Ubuntu Natty Narval 上的 Eclipse Helios 上发现了但未显示的错误。

这是我尝试过的:

  • 右键项目>查找Bugs>查找Bugs
  • 看进度发现发现了3个bug
  • 在“问题”视图中没有列出它们

我尝试通过以下方式进入自己的视角:Open Perspective > Other > FindBugs but Bug Explorer is empty.

有什么想法可以查看这些错误吗?

更新:在 Eclipse 错误日志中我看到:

!ENTRY edu.umd.cs.findbugs.plugin.eclipse 2 2 2011-06-18 21:13:24.968
!MESSAGE The following classes needed for FindBugs analysis on project **
     were missing:
!SUBENTRY 1 edu.umd.cs.findbugs.plugin.eclipse 2 0 2011-06-18 21:13:24.969
!MESSAGE org.apache.commons.exec.CommandLine
!SUBENTRY 1 edu.umd.cs.findbugs.plugin.eclipse 2 0 2011-06-18 21:13:24.969
!MESSAGE org.apache.commons.exec.DefaultExecutor
!SUBENTRY 1 edu.umd.cs.findbugs.plugin.eclipse 2 0 2011-06-18 21:13:24.969
!MESSAGE org.apache.commons.exec.ExecuteException

更新 2:我不知道如何修复 Eclipse,但我找到了解决方法。我在 maven 的 pom.xml 中添加了 findbugs 报告

<reporting>
    <plugins>
        [...]
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>findbugs-maven-plugin</artifactId>
            <version>2.3.3-SNAPSHOT</version>
            <configuration>
                <xmlOutput>true</xmlOutput>
                <!-- Optional derectory to put findbugs xdoc xml report -->
                <xmlOutputDirectory>target/site</xmlOutputDirectory>
            </configuration>
        </plugin>
    </plugins>
</reporting>

以下配置在 target/site/findbugs.html 中生成 HTML 报告

【问题讨论】:

  • 您是否尝试过重新构建您的项目?
  • 现在试过了,我去掉了“自动构建”、“清理...”和“构建项目”的勾选,再次运行 FindBugs,但还是什么都看不到。

标签: java eclipse findbugs


【解决方案1】:

这可能是您的问题视图的配置问题。执行以下步骤以确保 findbugs 发现显示在问题视图中:

  1. 选择问题视图(不显示 findbugs 警告或错误)
  2. 从问题视图的下拉菜单中选择(脱字符号按钮)菜单项“配置内容...”
  3. 在左侧视图中选择,例如“项目错误/警告”
  4. 确保在右侧的“类型”列表中,所有 Findbugs 类型均已选中。
  5. 完成视图的配置。

现在问题视图应该向您显示之前的 3 个发现。

或者,您可以使用 Findbugs 视角更深入地了解发现的问题。

我在 Findbugs Eclipse 插件页面找到了一个附加条目:Eclipse Plugin loads, but does not work correctly。也检查一下。


当 Findbugs 尝试分析您的类(不是:源代码)时,您的代码使用的类必须可用。我不知道这对于哪些错误模式是必要的,但对于某些(流分析),使用的类必须是可访问的。所以确保使用的类(直接或间接)在eclipse的加载路径中是可见的。

【讨论】:

  • 谢谢你,你说的很有道理,但是,即使要配置内容,检查项目上的错误/警告(显示结果匹配:任何启用的过滤器),严重性:错误,警告,信息全部检查, 包括 FindBugs 在内的所有类型都被选中,OK,再次运行 FindBugs,没有任何显示。 FindBugs 透视图,也没有显示任何内容。 :-(
  • 好吧,我不能在这里复制它。当我切换到 findbugs 透视图时,我看到了 findbugs 检查的最后一个项目(名为“Bug Explorer”的左视图。你在那里看到你检查过的项目吗?即使我在那里设置了过滤器,我也会看到例如“未使用字段(0/41 过滤)”。因此,如果 Findbugs 检查了您的项目,它应该向您显示一些内容。您是否查看了您的日志文件,或查看了错误日志?
  • 它是空的,但我发现在另一个项目上运行 FindBugs 会显示三个错误,我可以在问题视图和 FindBugs 透视图中将它们视为警告。我在之前的项目中引入了一个bug ["".trim();] 并且被捕获并展示了。在这两个项目中都发现了一些错误,但没有显示出来。我没有查看 eclipse 的日志文件或 error.log,我现在尝试找到它们。
  • 我遇到了同样的问题,我尝试了上述步骤,但 Bug Explorer 仍然没有显示任何内容
  • 谁有这个问题的解决方案?
【解决方案2】:

如果您在某些项目中出现了错误,而在其他项目中却没有,则问题可能是某个项目中的错误不够严重而无法显示。

我遇到了同样的问题(在编辑器中打开分析结果中显示了 30 个错误),但在问题视图或查找错误资源管理器中没有。以下对我有用:

1. Project -> Properties -> Find Bugs
2. Enable Project Specific Settings
3. Check everything under Report Visible Bug Categories
4. Slide minium rank to report to 20
5. Set minimum confidence to Low
6. Rerun FindBugs

【讨论】:

    【解决方案3】:

    我在使用 maven、eclipse 和 m2e-code-quality 插件 (https://github.com/m2e-code-quality/m2e-code-quality) 时偶然发现了一个类似的问题。解决方案是列出所有应该在 findbugs-maven-plugin 配置中的访问者标签中运行的访问者。此外,您可能希望将 maxRank 设置为 20。当您省略访问者运行 m2e-code-quality 插件时,将生成一个 findbugs 插件配置,它根本不运行任何访问者。最糟糕的是,项目属性中的 findbug 设置会显示一些已启用的访问者,但这些访问者并非来自项目配置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-08-03
      • 2021-11-27
      • 2018-09-28
      • 1970-01-01
      • 1970-01-01
      • 2016-04-06
      • 1970-01-01
      相关资源
      最近更新 更多