2011-12-05 85 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