2009-05-26 173 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特别擅长制作大量非常低优先级的警告。 ;)