`

findbugs过滤器规则

阅读更多
Add Package (or Class) Filtering To Your Findbugs Ant Task


Following on from my last post about using hbm2java to generate a @Entity bean DAO layer for our application, Findbugs, the great automatic bug finding tool, will find a lot of issues with Hibernate’s auto-generated code (primarily around exposing internal Date objects to callers). So long as this is something we are aware of and don’t have a problem with, we don’t want find bugs to tell us about this stuff. It’s possible to filter out an entire package or class tree with the use of Findbugs’ filters.

For example, say we wanted to filter out the classes in the package com.mycom.dbautodao, we could create a findbugs_filter.xml which contains:

view plaincopy to clipboardprint?
<FindBugsFilter> 
  <Match> 
    <Package name="~com\.mycom\.dbautodao\..*"/> 
  </Match> 
</FindBugsFilter> 
<FindBugsFilter>
  <Match>
    <Package name="~com\.mycom\.dbautodao\..*"/>
  </Match>
</FindBugsFilter>
This uses a regular expression to filter out checks against all contents and sub-packages of the com.mycom.dbautodao package.

Similarly it’s possible to do the same with a <class name=”myregex”/> element rather than a <package/> element for finer control.

To enable the filtering we just need modify the tag in our Ant build file to include the filter, e.g.

view plaincopy to clipboardprint?
<findbugs home="${findbugs.home}" output="xml" outputFile="${basedir}/dist/findbugs/findbugs.xml" excludefilter="findbugs_filter.xml"> 
<findbugs home="${findbugs.home}" output="xml" outputFile="${basedir}/dist/findbugs/findbugs.xml" excludefilter="findbugs_filter.xml">
While on the topic of regular expressions, I often find myself using this online regex checker tool which uses Java’s regex syntax – http://www.fileformat.info/tool/regex.htm. It’s a really quick and handy way of writing and testing a regular expression, since you can enter


在主脚本文件中增加:
<target name="findbugs">
<findbugs home="${findbugs.dir}/findbugs-1.2.1" output="xml" jvmargs="-Xmx256M" projectName="${ant.project.name}"
outputFile="${testreport.dir}/findbugs.xml" excludeFilter="${testreport.dir}/FindBugsFilter.xml">
<class location="${outclasses.dir}" />
</findbugs>
<echo>Findbugs检查代码错误完成!</echo>
</target>

然后指定一个单独的配置文件: FindBugsFilter.xml
内容如下例子:

<FindBugsFilter>
<Match> 
      <Method name="main" /> 
    </Match> 
    <Match> 
       <Class name="~.*\.*Test" /> 
    </Match> 
    <Match> 
       <Class name="~.*\.*Value" /> 
    </Match> 
    <Match> 
       <Class name="~.*\.*Value\$.*" /> 
    </Match>
     <Match> 
       <Class name="~.*\.*Table" /> 
    </Match>
</FindBugsFilter>
这样会过滤Value和Table,Cache等类
分享到:
评论

相关推荐

    FindBugs规则整理_中文版

    ### FindBugs规则整理知识点详解 #### FindBugs概述 FindBugs是一款开源的静态代码分析工具,主要用于Java应用程序的缺陷检测。通过分析程序的字节码,FindBags能够帮助开发者发现潜在的问题,提高软件的质量和安全...

    findbugs1.3.9

    4. **自定义配置**:用户可以根据项目需求调整FindBugs的检查级别和过滤规则,例如忽略某些特定类型的警告,或者针对特定包或类进行更严格的检查。 5. **报告生成**:除了在Eclipse中查看结果,FindBugs还能生成...

    findbugs.jar

    3. **使用过滤器**:创建自定义过滤器,排除已知的误报或不影响程序运行的警告。 六、结语 FindBugs作为一款强大的静态代码分析工具,能够显著提升代码质量,减少潜在的运行时错误。通过`findbugs.jar`和Eclipse...

    findbugs for idea

    2. 配置:在“Preferences” -&gt; “FindBugs”中,用户可以定制FindBugs的设置,如选择要检查的项目、设定严重性级别、过滤器等。此外,还可以配置FindBugs的执行频率,如在编译时自动检查或手动触发检查。 三、...

    findbugs安装及使用手册

    - **Eclipse中**:可以在"Window" &gt; "Preferences" &gt; "FindBugs"中调整检查级别(默认、medium、或者low)、过滤器和显示选项。 - **Maven配置**:在`pom.xml`中,可以设置`&lt;effort&gt;`(检查级别)、`...

    FindBugs规则整理_中文版.pdf

    以下是对FindBugs规则的详细解释: 1. **Hardcoded constant database password (DMI_CONSTANT_DB_PASSWORD)**: 这个警告提示代码中存在硬编码的数据库密码。硬编码的密码不仅难以管理和更新,还可能导致安全风险,...

    eclipse插件findbugs(两个版本)

    - 在Eclipse中,打开"Window" -&gt; "Preferences" -&gt; "FindBugs",可以配置插件的设置,如错误严重性级别、排除过滤器等。 - 右键点击项目,选择"FindBugs" -&gt; "Analyze Project",插件会开始扫描项目中的所有Java...

    著名的findbugs插件,idea版本

    为了进一步提升工作效率,可以通过配置将 FindBugs 的结果直接显示在代码编辑器中,这样在编写代码时就可以立即看到问题所在。同时,也可以选择在每次编译或保存文件时自动运行 FindBugs 检查。对于复杂的项目,...

    findbugs插件

    在使用FindBugs插件时,开发者可以根据自己的需求调整分析级别和过滤器,以便更专注于特定类型的警告。此外,插件还支持自定义规则,允许团队根据其编码规范定义自己的错误检测标准。 对于初级开发者,FindBugs插件...

    findbugs安装使用说明

    在`Window` -&gt; `Preferences` -&gt; `FindBugs`中,你可以配置显示的错误级别、排除特定类或包,甚至创建自己的错误过滤器。 ### 提高代码质量 `FindBugs`不仅提供了一种查找潜在错误的方式,还能帮助团队遵循最佳...

    Myeclipse10安装checkStyle与findBugs插件-费元星详细完美解决

    5. **配置findBugs**:同样在“Window” -&gt; “Preferences”中,找到“findBugs”选项,根据项目特点配置相关参数,例如错误级别、过滤器等。 6. **启用插件**:在你的项目中,右键选择“checkStyle”或“findBugs...

    findBugs插件

    2. **配置FindBugs**:在Eclipse的“Window” -&gt; “Preferences” -&gt; “FindBugs”中,可以设置检测级别(默认、中等或保守)、过滤器等。 3. **运行FindBugs**:选择要分析的项目,右键点击选择“FindBugs” -&gt; ...

    FindBugs安装和使用说明

    6. 自定义配置:FindBugs允许用户自定义分析规则,根据项目需求过滤掉某些不关心的警告或增加特定的检查。 总的来说,FindBugs是一个强大且灵活的工具,能够帮助开发者早期发现潜在的代码问题,从而提高软件质量...

    findbugs 2.0 正式版myeclipse插件

    4. **自定义配置**:用户可能可以自定义错误级别和过滤规则,根据项目需求调整FindBugs的行为。 5. **报告改进**:可能提供了更详细和易懂的错误报告,帮助开发者快速定位和理解问题。 6. **兼容性提升**:...

    FindBugs 缺陷模式

    FindBugs允许开发人员通过XML配置文件定义自定义过滤器,以忽略特定类、特定缺陷代码或特定方法中的问题。此外,可以创建新的检查器来检测特定的缺陷模式,扩展FindBugs的功能。 总结,FindBugs是一个强大的工具,...

    sclipse findbugs插件

    4. **过滤和自定义设置**:用户可以根据需要选择要检查的错误级别,还可以自定义过滤规则,只关注特定类型的错误。 5. **集成开发流程**:与Eclipse的其他功能无缝集成,如重构、调试等,使得代码质量检查成为开发...

    java代码分析工具findbugs安装使用说明及常见错误

    - 配置FindBugs的排除过滤器,针对特定项目需求定制分析规则。 总结,FindBugs作为一款强大的Java静态代码分析工具,能够有效提升代码质量。熟练掌握其安装、使用及问题排查,将有助于开发团队构建更加健壮和可靠的...

    Eclipse 插件 findbugs

    随着Java社区的发展,FindBugs已不再更新,其开发团队转向了新的项目叫做SpotBugs,它是FindBugs的继承者,提供了更多的错误检测规则和更好的性能。 ### 7. **总结** Eclipse FindBugs插件是Java开发中不可或缺的...

Global site tag (gtag.js) - Google Analytics