2011-12-05 63 views
6

使用Javadoc时可以将警告视为错误吗?特别是,我从Ant调用Javadoc并在我的<javadoc>任务上设置了failonerror="true",但我似乎无法触发此操作。尽管javadoc正在生成警告,但我仍然在获得BUILD SUCCESSFUL,Ant完成时退出码为0Javadoc:将警告视为错误?

我希望能够在<javadoc>任务的additionalparam属性中添加一些内容来强制Javadoc警告失败。

+1

'failonerror'和'failonwarnings'(后者不存在)之间有区别。 –

回答

0

我不知道JavaDoc参数,我建议在你的ant build中使用像checkstyle这样的工具。您可以将其设置为在Javadoc警告上失败。

+0

更好地将其与声纳集成在一起http://www.sonarsource.org/ –

6

我知道这是旧的,但它可能仍然有助于像我这样寻找答案的人。如果不起作用,请将

<contains text="warnings"/> 

更改为您在输出中看到的文字。

<target name="javadoc"> 
<delete dir="${jDocDirectory}"/> 
<mkdir dir="${jDocDirectory}"/> 
<record name="javadocLog" action="start"/> 
<javadoc (settings, blah blah) /> 
<record name="javadocLog" action="stop"/> 
     <condition property="javadoc.warnings"> 
      <isfileselected file="javadocLog"> 
       <contains text="warnings"/> 
      </isfileselected> 
     </condition> 
     <fail if="javadoc.warnings">Javadoc warnings!</fail> 
</target> 

编辑: 如果你有一个警告,这是不行的,要解决的所有警告你必须改变这一点:

<contains text="warnings"/> 
+0

这看起来很有趣,但它对我不起作用。我从记录操作中得到一行单行空白文本文件作为输出。似乎可能并不总是将输出刷新到文件,所以当你阅读它时,你可能会得到一个非常短的文件,而不是包含你期望的日志的文件。回到画板上,我想。 – Trejkaz

+0

您的问题可能是您只有1个警告,因此该文件包含“警告”而不是“警告”。我们遇到了一个无法隐藏/修复的警告(使用可能从API中删除的类)。如果您要更改 这可能有所帮助。自从5月份以来,这一直在为我们工作,目前还没有任何问题。 – Knoxie

+0

我正在使用“警告”,但该文件完全是空的,因此它不匹配。我现在试图找出为什么不刷新。文档说它只能在目标完成时刷新,所以我尝试在空目标上使用来强制它,但这似乎也没有做到。 – Trejkaz