运维开发网

FindBugs使用Ant排除过滤器

运维开发网 https://www.qedev.com 2020-05-10 07:14 出处:网络 作者:运维开发网整理
我无法让FindBugs考虑我的排除过滤器: 在tools / findbugs-exclude.xml中: <FindBugsFilter> <Match> <Bug pattern="WMI_WRONG_MAP_ITERATOR,SE_COMPARATOR_SHOULD_BE_SERIALIZABLE,RV_RETURN_VALUE_IGNORED,EI_EXPOSE_REP,EI
我无法让FindBugs考虑我的排除过滤器:

在tools / findbugs-exclude.xml中:

<FindBugsFilter>
  <Match>
    <Bug pattern="WMI_WRONG_MAP_ITERATOR,SE_COMPARATOR_SHOULD_BE_SERIALIZABLE,RV_RETURN_VALUE_IGNORED,EI_EXPOSE_REP,EI_EXPOSE_REP2,MS_CANNOT_BE_FINAL,SBSC_USE_STRINGBUFFER_CONCATENATION,SE_BAD_FIELD"/>
  </Match>
</FindBugsFilter>

在build.xml中:

<findbugs home="${findbugs.home}" 
    output="html" 
    outputFile="${findbugs.output.current}" 
    timeout="1200000" 
    jvmargs="-Xmx1024m" 
    effort="max" 
    excludeFilter="${basedir}/tools/findbugs-exclude.xml">
  <auxClasspath>
    <fileset dir="${basedir}/lib">
      <include name="**/*.jar" />
    </fileset>
  </auxClasspath>
  <sourcePath path="${basedir}/sources" />
  <class location="${classes}" />
  <fileset dir="${basedir}/build/dist">
    <include name="*.jar" />
  </fileset>
</findbugs>

FindBugs正确生成报告,但它包含所有内容.

我有完全相同的问题,这是由于 findbugs-exclude.xml文件路径中的拼写错误.

尝试以详细模式运行ant,如下所示:

C:\Workspace\example> ant -verbose

你会在输出中注意到这样的事情:

findbugs:
 [findbugs] Executing findbugs FindBugsTask from ant task
 [findbugs] Running FindBugs...
 [findbugs] Executing 'C:\Workspace\opt\Java\jdk1.8.0_72\jre\bin\java.exe' with arguments:
 [findbugs] '-Xmx1024m'
 [findbugs] '-Dfindbugs.hostApp=FBAntTask'
 [findbugs] '-Dfindbugs.home=C:\Workspace\opt\findbugs-3.0.1'
 [findbugs] '-classpath'
 [findbugs] 'C:\Workspace\opt\findbugs-3.0.1\lib\findbugs.jar'
 [findbugs] 'edu.umd.cs.findbugs.FindBugs2'
 [findbugs] '-sortByClass'
 [findbugs] '-timestampNow'
 [findbugs] '-xml:withMessages'
 [findbugs] '-exclude'
 [findbugs] 'C:\Workspace\example\tools\findbugs-exclude.xml'
 [findbugs] '-auxclasspathFromInput'
 [findbugs] '-sourcepath'
 [findbugs] 'C:\Workspace\example\src'
 [findbugs] '-outputFile'
 [findbugs] 'C:\Workspace\example\output\findbugs.xml'
 [findbugs] '-exitcode'
 [findbugs] 'C:\Workspace\example\cls'

如果缺少-exclude参数,请将以下内容添加到build.xml以查看路径是否正确:

<available property="file.exists" file="${basedir}/tools/findbugs-exclude.xml"/>
<echo>${basedir}/tools/findbugs-exclude.xml exists = ${file.exists}</echo>

因为FindBugsTask.java包含检查excludeFilter文件是否存在的检查.

public void setExcludeFilter(File filterFile) {
    if (filterFile != null && filterFile.length() > 0) {
        this.excludeFile = filterFile;
    } else {
        this.excludeFile = null;
    }
}

扫码领视频副本.gif

0

精彩评论

暂无评论...
验证码 换一张
取 消