首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Findbugs?

如何使用Findbugs?
EN

Stack Overflow用户
提问于 2016-02-25 20:44:17
回答 2查看 525关注 0票数 3

我和Gradle一起使用Findbug。我在女巫里有个项目,发现了一个潜在的bug。

错误类型ODR_OPEN_DATABASE_RESOURCE org.kec.db.connection.DBAccess.query(String)可能无法关闭PreparedStatement。

我无法更改代码,所以我想将bug检测器/访问者添加到OmitVisitors列表中。

正如我理解OmitVisitors的用法一样,它需要一个类名列表。我的问题是我找不到bug类型和类名之间的映射。

我怎么才能省略来访者呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-11 14:12:39

排除某些分析类的特定错误可以用Findbug过滤器完成。您需要列出一个类/bug匹配列表,您希望将其排除在外。在您的示例中,XML文件如下所示:

代码语言:javascript
复制
<FindBugsFilter>
    <Match>
        <Class name="org.kec.db.connection.DBAccess" />
        <Method name="query" />
        <Bug pattern="ODR_OPEN_DATABASE_RESOURCE" />
    </Match>
</FindBugsFilter>

在Gradle脚本中,需要为excludeFilter属性设置包含排除bug的XML文件。

代码语言:javascript
复制
findbugs {
    excludeFilter = file("$rootProject.projectDir/config/findbugs/excludeFilter.xml")
}
票数 1
EN

Stack Overflow用户

发布于 2017-03-10 22:18:59

我下载了findbug的源代码,然后运行

代码语言:javascript
复制
find -name *.java | xargs grep -lir ODR_OPEN_DATABASE_RESOURCE

上面写着

代码语言:javascript
复制
./src/java/edu/umd/cs/findbugs/detect/FindOpenStream.java

所以我想你应该用FindOpenStream作为名字

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35637929

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档