Cov*_*ene 23
FindBugs实际上是扫描已编译的类文件,而不是sourcePath.如果要将src/*和test/*文件编译到不同的目录,则可以使用嵌套<class...>元素.
<findbugs home="${findbugs.dir}" output="xml:withMessages"
outputFile="${findbugs.report.xml}" jvmargs="-Xmx256M"
effort="max" projectName="${ant.project.name}"
auxClasspathRef="findbugs.classpath"
sourcePath="${src.dir}">
<class location="${src.classes.dir}"/>
</findbugs>
Run Code Online (Sandbox Code Playgroud)
如果将src/*和test/*编译为单个目录,那将无效.在这种情况下,请使用过滤器文件并排除与测试对应的包或类名.
<findbugs home="${findbugs.dir}" output="xml:withMessages"
outputFile="${findbugs.report.xml}" jvmargs="-Xmx256M"
effort="max" projectName="${ant.project.name}"
auxClasspathRef="findbugs.classpath"
sourcePath="${src.dir}"
excludefilter="exclude.xml">
<class location="${classes.dir}"/>
</findbugs>
Run Code Online (Sandbox Code Playgroud)
其中exclude.xml的样子:
<FindBugsFilter>
<Match>
<Class name="~.*Test$"/>
</Match>
<Match>
<Package name="~test\..*"/>
</Match>
</FindBugsFilter>
Run Code Online (Sandbox Code Playgroud)