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>
Это не сработает, если src/* и test/* скомпилированы в один каталог. В этом случае используйте filter file и исключите пакеты или имена классов, соответствующие испытаниям.
<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>
где exclude.xml
выглядит следующим образом:
<FindBugsFilter>
<Match>
<Class name="~.*Test$"/>
</Match>
<Match>
<Package name="~test\..*"/>
</Match>
</FindBugsFilter>
хорошее объяснение ... видимо, мне нужно начать пить кофе или еще что-то. Удалил мой ответ, который корректно вводит в заблуждение. – TofuBeer