我正在尝试让FindBugs ant任务在生成的报告中包含源信息.
<findbugs home="${findbugs.home}" output="xml" outputFile="${basedir}/findbugs/findbugs-${package.basename}.xml" excludeFilter="${basedir}/findbugsExclude.xml" jvmargs="-Xmx1048m">
<sourcePath path="${package.srcdir}" />
<class location="${package}" />
<auxClasspath>
<path refid="findbugs.auxinput" />
</auxClasspath>
</findbugs>
Run Code Online (Sandbox Code Playgroud)
就我所见,$ {package.srcdir}属性的值是正确的; 它指向源树的根,以便$ {package.srcdir} /com/mydomain/MyClass.java是源文件的路径.
生成的报告包含一个<SrcDir>与赋予ant任务的源路径匹配的元素,因此显然该<sourcePath>元素由findbugs任务处理.尽管如此,XML报告中的包统计信息仅包含sourceFile="<Unknown>".
我错过了一些明显的东西吗
小智 5
我有同样的问题.
可能你的代码是用"-g:none"编译的.如果使用ant的<javac>任务必须设置<javac debug = true>.
正确设置源路径(如findbugs手册中所述)到顶级包的封闭文件夹(在eclipse项目中的src文件夹),您应该成功.
尽管如此,afaik有些情况下,findbugs无法确定合适的源行号.
欢呼,基督徒