如何使用 Findbugs omitVisitors?
How to use Findbugs omitVisitors?
我将 Findbugs 与 Gradle 一起使用。我在 中有一个项目 Findbugs 发现了一个潜在的错误。
错误类型 ODR_OPEN_DATABASE_RESOURCE
org.kec.db.connection.DBAccess.query(String) 可能无法关闭 PreparedStatement。
我无法更改代码,所以我想将错误 [=20=] 添加到 OmitVisitors 列表中。
据我了解 OmitVisitors 的用法,它需要 class 个名称的列表。我的问题是我找不到错误类型和 class 名称之间的映射。
如何省略访问者?
我下载了 findbugs 源和 运行
find -name *.java | xargs grep -lir ODR_OPEN_DATABASE_RESOURCE
它说
./src/java/edu/umd/cs/findbugs/detect/FindOpenStream.java
所以我想你应该使用 FindOpenStream 作为名称
可以使用 Findbugs filters 排除某些已分析的 类 的特定错误。您需要列出要排除的 class/bug 个匹配项。在您的情况下,XML 文件将如下所示:
<FindBugsFilter>
<Match>
<Class name="org.kec.db.connection.DBAccess" />
<Method name="query" />
<Bug pattern="ODR_OPEN_DATABASE_RESOURCE" />
</Match>
</FindBugsFilter>
在 Gradle 脚本中,需要为 excludeFilter
属性.
设置排除错误的 XML 文件
findbugs {
excludeFilter = file("$rootProject.projectDir/config/findbugs/excludeFilter.xml")
}
我将 Findbugs 与 Gradle 一起使用。我在 中有一个项目 Findbugs 发现了一个潜在的错误。
错误类型 ODR_OPEN_DATABASE_RESOURCE org.kec.db.connection.DBAccess.query(String) 可能无法关闭 PreparedStatement。
我无法更改代码,所以我想将错误 [=20=] 添加到 OmitVisitors 列表中。
据我了解 OmitVisitors 的用法,它需要 class 个名称的列表。我的问题是我找不到错误类型和 class 名称之间的映射。
如何省略访问者?
我下载了 findbugs 源和 运行
find -name *.java | xargs grep -lir ODR_OPEN_DATABASE_RESOURCE
它说
./src/java/edu/umd/cs/findbugs/detect/FindOpenStream.java
所以我想你应该使用 FindOpenStream 作为名称
可以使用 Findbugs filters 排除某些已分析的 类 的特定错误。您需要列出要排除的 class/bug 个匹配项。在您的情况下,XML 文件将如下所示:
<FindBugsFilter>
<Match>
<Class name="org.kec.db.connection.DBAccess" />
<Method name="query" />
<Bug pattern="ODR_OPEN_DATABASE_RESOURCE" />
</Match>
</FindBugsFilter>
在 Gradle 脚本中,需要为 excludeFilter
属性.
findbugs {
excludeFilter = file("$rootProject.projectDir/config/findbugs/excludeFilter.xml")
}