我和Gradle一起使用Findbug。我在女巫里有个项目,发现了一个潜在的bug。
错误类型ODR_OPEN_DATABASE_RESOURCE org.kec.db.connection.DBAccess.query(String)可能无法关闭PreparedStatement。
我无法更改代码,所以我想将bug检测器/访问者添加到OmitVisitors列表中。
正如我理解OmitVisitors的用法一样,它需要一个类名列表。我的问题是我找不到bug类型和类名之间的映射。
我怎么才能省略来访者呢?
发布于 2017-03-11 14:12:39
排除某些分析类的特定错误可以用Findbug过滤器完成。您需要列出一个类/bug匹配列表,您希望将其排除在外。在您的示例中,XML文件如下所示:
<FindBugsFilter>
<Match>
<Class name="org.kec.db.connection.DBAccess" />
<Method name="query" />
<Bug pattern="ODR_OPEN_DATABASE_RESOURCE" />
</Match>
</FindBugsFilter>在Gradle脚本中,需要为excludeFilter属性设置包含排除bug的XML文件。
findbugs {
excludeFilter = file("$rootProject.projectDir/config/findbugs/excludeFilter.xml")
}发布于 2017-03-10 22:18:59
我下载了findbug的源代码,然后运行
find -name *.java | xargs grep -lir ODR_OPEN_DATABASE_RESOURCE上面写着
./src/java/edu/umd/cs/findbugs/detect/FindOpenStream.java所以我想你应该用FindOpenStream作为名字
https://stackoverflow.com/questions/35637929
复制相似问题