且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Findbugs2 命令行使用说明

更新时间:2022-05-23 09:13:09

1.      环境

当前使用 rhel6, jdk1.6.0_24, findbugs进行测试

 

2.      软件存放位置

Java: /usr/local/java

Findbugs2: /testserver/findbugs2

检测软件: /testserver/AllCulture

 

3.      Findbugs说明

findbugs 提供命令行参数进行代码检测,下面是常见参数说明

-home 定义findbugs2软件存放位置

-low 提交警告及任何级别以上报告

-medium 提交中,高级报告(默认)

-high 只提交高级警告

-xml 警告以 xml输出

-html 警告以 html输出

-output 定义输出的文件名

-onlyAnalyze 只分析指定的 class/package

-exclude 忽略指定的 class/package (必修以 xml定义过滤的命名)

-include 只输出指定的 class/package (必修以xml定义过滤的命名)

 

4.      过滤方法

根据官方文档提示,下面有一些过滤例子,注,需要把过滤名称定义到独立的 xml

<Match>

    <Class name=”com.foobar.A”/>

   <Bug code=”IC,UrF,SIC”/>

</Match>

 

<Match>

    <Bug category=”PERFORMANCE”/>

</Match>

<Match>

    <Package name=”~com\.foobar\.fooproject\.ui.*”/>

</Match>

 

5.      执行过程

a.      根据需要创建过滤 xml

<FindBugsFilter>

   <Match>

            <Classname=”~android.*” />

   </Match>

   <Match>

            <Bugcode=”Nm” />

   </Match>

</FindBugsFilter>

上述过滤信息代表,过滤所有 android开头的包,并且忽略所有大小写错误信息。

 

b.      执行检测并过滤关键字信息

findbugs2 -html -exclude myfilter.xml  -output output_filter.html/testserver/AllCulture/

 

得到 output_filter.html为报告信息。