2009-05-26 107 views
0

介紹
一些持續集成工具(比如,哈德森)承擔的編譯器產生不同的嚴重程度(又稱優先級)的警告:高,中,低。
根據編譯器警告的數量和嚴重性,該工具可以將構建標記爲unstable
如果編譯器生成高優先級警告,我希望構建不穩定。Java編譯器警告的嚴重性

我從未在我們的項目中看到任何高(和低)優先警告 - 只有正常,所以如果它們確實存在,我有點懷疑。

問題
我在哪裏可以看到高優先級的編譯器警告的列表通過的javac和/或ECJ生成。
或者,也許你可以提供一些高優先級警告的例子。

其他
相關,但也許不同的問題:我懷疑高優先級的編譯器警告實際上是錯誤的,而且不能是實際上你已經源代碼編譯具有高優先級的警告(構建將在被打破的情況案件)。

+0

好吧,標記沒有運氣使用編譯器警告日誌生成「unstable」。 因此,我現在切換到findbugs工具來觸發「不穩定」狀態。它對發現的問題具有高/正常/低優先級。如果發現任何高優先級問題,我認爲將構建標記爲「不穩定」是個好主意。 – 2009-05-26 22:06:43

回答

2

您可以通過輸入得到的所有編譯器警告名單:

的javac -X

,並在尋找的-Xlint選項給出的列表。

Java並沒有真正的「高」與「低」優先級的概念,而且可以說不應該 - 特別警告可能表明您的項目的問題與您的特定發展模式。

+1

我想你的意思是「javac -X」 – 2009-05-26 21:55:19

0

特別提到Hudson,它看起來像「編譯器警告的掃描日誌文件」選項意味着在編譯器中是通用的,高優先級vs中低優先級的選項可能適用於能夠生成這些嚴重性的編譯器級別(如gcc或PC-Lint或(可能)Eclipse Java編譯器)。我不相信javac是有能力的。

+0

關於哈德森,我想你是對的。順便說一句,我已經檢查了Eclipse Java編譯器(ecj) - 它在Eclipse本身非常靈活(您可以配置哪些檢查考慮錯誤,只是警告甚至忽略),但在命令行模式下(單獨的單個ecj.jar )它不能這樣做:(它有警告列表,但你只能啓用/禁用它們 – 2009-05-26 21:58:30

1

如果你想看到高優先級和低優先級警告,你可以使用PMD,FindBug和/或checkstyle。 Checkstyle特別擅長製作大量非常低優先級的警告。 ;)