Java编译器警告严重性
简介Java编译器警告严重性,java,compiler-construction,hudson,Java,Compiler Construction,Hudson,简介 一些持续集成工具(如Hudson)假设编译器生成不同严重性(也称为优先级)的警告:高、正常和低。 根据编译器警告的数量和严重程度,该工具可以将生成标记为不稳定。 如果编译器生成高优先级警告,我希望构建不稳定 我从来没有在我们的项目中看到过任何高(或低)优先级的警告——只是正常的,所以我有点怀疑它们是否真的存在 问题 我在哪里可以查看由javac和/或ecj生成的高优先级编译器警告列表 或者,您可以提供一些高优先级警告的示例 其他 相关的,但可能不同的问题:我怀疑高优先级编译器警告实际上是错
一些持续集成工具(如Hudson)假设编译器生成不同严重性(也称为优先级)的警告:高、正常和低。
根据编译器警告的数量和严重程度,该工具可以将生成标记为不稳定。
如果编译器生成高优先级警告,我希望构建不稳定 我从来没有在我们的项目中看到过任何高(或低)优先级的警告——只是正常的,所以我有点怀疑它们是否真的存在 问题
我在哪里可以查看由javac和/或ecj生成的高优先级编译器警告列表 或者,您可以提供一些高优先级警告的示例 其他
相关的,但可能不同的问题:我怀疑高优先级编译器警告实际上是错误,并且不可能存在使用高优先级警告编译源代码的实际情况(在这种情况下,构建将被破坏)。具体指的是Hudson,它看起来像“扫描编译器警告的日志文件”选项在编译器中是通用的,高优先级vs中优先级vs低优先级的选项可能是针对能够生成这些严重性级别的编译器(如gcc或PC Lint或(可能)Eclipse Java编译器)。我不相信
javac
能够做到这一点。您可以通过键入以下内容获得所有编译器警告的列表:
javac-X
并查看为-Xlint选项提供的列表
Java实际上没有“高”和“低”优先级的概念,可以说也不应该——特别是警告可能表明您的项目存在的问题确实是特定于您的特定开发模式的问题。如果您想看到高优先级和低优先级警告,可以使用PMD、FindBug和/或checkstyle。Checkstyle特别擅长生成大量非常低优先级的警告 关于哈德逊,我想你是对的。顺便说一下,我已经检查了Eclipse java编译器(ECJ)——它在Eclipse本身非常灵活(可以配置哪些检查考虑类似的错误,只是警告或忽略),但是在命令行模式(单独的ECJ.jar)中它不能这样做:(它有警告列表,但是您只能启用/禁用它,没有标记标记构建的不稳定。使用编译器警告日志。所以我现在切换到findbugs工具来触发“不稳定”状态。对于发现的问题,它确实具有高/正常/低优先级。如果发现任何高优先级问题,我认为最好将构建标记为“不稳定”。哦,谢谢——更正。他们怎么敢将“x”和“c”键放在一起。。。