Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Findbug-ANT xslt样式表源代码参考_Ant_Findbugs - Fatal编程技术网

Findbug-ANT xslt样式表源代码参考

Findbug-ANT xslt样式表源代码参考,ant,findbugs,Ant,Findbugs,我有一个ANT目标,它在同一源代码上运行两次findbugs,以生成xml和html报告 <delete dir="${findbugs.dir}"/> <mkdir dir="${findbugs.dir}"/> <findbugs home="${findbugs.home}" output="xml" outputFile="${findbugs.dir}/findbugs.xml" jvmargs="${fi

我有一个ANT目标,它在同一源代码上运行两次findbugs,以生成xml和html报告

<delete dir="${findbugs.dir}"/>
<mkdir dir="${findbugs.dir}"/>        
<findbugs 
    home="${findbugs.home}"
    output="xml"
    outputFile="${findbugs.dir}/findbugs.xml"
    jvmargs="${findbugs.jvmargs}"
    timeout="${findbugs.timeout}"
    effort="${findbugs.effort}">
   <sourcePath path="${src.dir}"/>
   <class location="${build.classes.dir}"/>
</findbugs>

<findbugs 
    home="${findbugs.home}"
    output="html"
    outputFile="${findbugs.dir}/findbugs.html"
    jvmargs="${findbugs.jvmargs}"
    timeout="${findbugs.timeout}"
    effort="${findbugs.effort}">
   <sourcePath path="${src.dir}"/>
   <class location="${build.classes.dir}"/>
</findbugs>

这是愚蠢的,因为可以使用

<xslt in="${findbugs.dir}/findbugs.xml" out="${findbugs.dir}/findbugs.html" style="${findbugs.home}/default.xsl"/>

但是生成的html报告没有正确的源代码引用。关于如何让它工作并避免重复findbugs调用,有什么想法吗

回答后更新

with output="xml"

<BugInstance type="REC_CATCH_EXCEPTION" priority="2" abbrev="REC" category="STYLE">
   <Class classname="com.x.y.aggregate.AggregationProperties">
      <SourceLine classname="com.x.y.aggregate.AggregationProperties" start="20" end="788" sourcefile="AggregationProperties.java" sourcepath="com/x/y/aggregate/AggregationProperties.java"/>
   </Class>
   <Method classname="com.x.y.aggregate.AggregationProperties" name="setAggregateProperties" signature="()V" isStatic="true">
      <SourceLine classname="com.x.y.aggregate.AggregationProperties" start="86" end="148" startBytecode="0" endBytecode="489" sourcefile="AggregationProperties.java" sourcepath="com/x/y/aggregate/AggregationProperties.java"/>
   </Method>
   <SourceLine classname="com.x.y.aggregate.AggregationProperties" start="140" end="140" startBytecode="308" endBytecode="308" sourcefile="AggregationProperties.java" sourcepath="com/x/y/aggregate/AggregationProperties.java"/>
</BugInstance>

with 'xml:withMessages'

<BugInstance type="REC_CATCH_EXCEPTION" priority="2" abbrev="REC" category="STYLE" instanceHash="b7a7c8f292d2a8432680a1c971fb93b3" instanceOccurrenceNum="0" instanceOccurrenceMax="0">
   <ShortMessage>Exception is caught when Exception is not thrown</ShortMessage>
   <LongMessage>Exception is caught when Exception is not thrown in com.x.y.aggregate.AggregationProperties.setAggregateProperties()</LongMessage>
   <Class classname="com.x.y.aggregate.AggregationProperties" primary="true">
      <SourceLine classname="com.x.y.aggregate.AggregationProperties" start="20" end="788" sourcefile="AggregationProperties.java" sourcepath="com/x/y/aggregate/AggregationProperties.java" relSourcepath="com/x/y/aggregate/AggregationProperties.java">
         <Message>At AggregationProperties.java:[lines 20-788]</Message>
      </SourceLine>
      <Message>In class com.x.y.aggregate.AggregationProperties</Message>
   </Class>
   <Method classname="com.x.y.aggregate.AggregationProperties" name="setAggregateProperties" signature="()V" isStatic="true" primary="true">
      <SourceLine classname="com.x.y.aggregate.AggregationProperties" start="86" end="148" startBytecode="0" endBytecode="489" sourcefile="AggregationProperties.java" sourcepath="com/x/y/aggregate/AggregationProperties.java" relSourcepath="com/x/y/aggregate/AggregationProperties.java"/>
      <Message>In method com.x.y.aggregate.AggregationProperties.setAggregateProperties()</Message>
   </Method>
   <SourceLine classname="com.x.y.aggregate.AggregationProperties" primary="true" start="140" end="140" startBytecode="308" endBytecode="308" sourcefile="AggregationProperties.java" sourcepath="com/x/y/aggregate/AggregationProperties.java" relSourcepath="com/x/y/aggregate/AggregationProperties.java">
      <Message>At AggregationProperties.java:[line 140]</Message>
   </SourceLine>
</BugInstance>
带有output=“xml”的

使用“xml:withMessages”
在未引发异常时捕获异常
在com.x.y.aggregate.AggregationProperties.setAggregateProperties()中未引发异常时捕获异常
java:[第20-788行]
类内com.x.y.aggregate.AggregationProperties
在方法com.x.y.aggregate.AggregationProperties.setAggregateProperties()中
java:[第140行]
output=“xml:withMessages”

如果设置为“xml”(默认值),则输出为xml格式。如果设置为“xml:withMessages”,则输出为xml格式,并添加了人类可读的消息。(如果计划使用XSL样式表生成报告,则应使用此格式。)