代码之家  ›  专栏  ›  技术社区  ›  JesperE

使用FindBugs ant任务查找源路径

  •  3
  • JesperE  · 技术社区  · 16 年前

    我试图让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>
    

    就我所见,${package.srcdir}属性的值是正确的;它指向源树的根,比如${package.srcdir}/com/mydomain/MyClass。java是源文件的路径。

    生成的报告包含 <SrcDir> 元素,该元素与给定给ant任务的源路径匹配,因此 <sourcePath> 元素由findbugs任务处理。尽管如此,XML报告中的包统计信息只包含 sourceFile="&lt;Unknown&gt;" .

    我是不是漏掉了什么明显的东西?

    2 回复  |  直到 16 年前
        1
  •  5
  •   christian    16 年前

    我也有同样的问题。

    您的代码可能是用“-g:none”编译的。 如果使用蚂蚁<javac>必须设置任务<javac debug=true>。

    正确地将源路径(如findbugs手册中所述)设置为顶级包的封闭文件夹(在eclipse项目中为src文件夹),应该会成功。

    Netherless,afaik有些情况下,findbugs无法确定正确的源行号。

    干杯 基督教的

        2
  •  -1
  •   willowherb    13 年前

    试试这样的回声(第二行):

    <echo message="Finding Bugs From ${package.srcdir}"/>  
    

    我怀疑那个包裹。srcdir尚未设置为值。尝试使用

    <sourcePath path="${basedir}/src/com" />
    

    或者包含源文件的任何目录。


    如果一个答案解决了你的问题,不要忘记将其标记为已接受的答案。

    推荐文章