java如何在引入新警告时使构建失败
我们正在做一些旧的java项目。代码中有很多警告,但我希望避免引入新的警告。有没有办法和maven,Bambon一起做。我们无权在Bambol(corporation)上安装新插件,因此首选maven解决方案
你可以在下面搜索框中键入要查询的问题!
我们正在做一些旧的java项目。代码中有很多警告,但我希望避免引入新的警告。有没有办法和maven,Bambon一起做。我们无权在Bambol(corporation)上安装新插件,因此首选maven解决方案
# 1 楼答案
您可以使用checkstyle任务,在报告生成完成后,您可以使用xslt提取大量警告(如果报告是xml格式的,我相信还可以使用其他报告格式)
然后,使用ant任务,您可以比较当前构建中的警告数量和可接受的警告数量(可以是某个地方的硬编码数字,也可以是从以前构建的人工制品中提取的,如果您希望的话)
# 2 楼答案
如果您使用的是eclipse,则可以添加注释(@IgnoreWarnings)以忽略现有警告。但是只要有警告,您就必须修改源代码
使用PMD可能有一个更智能的解决方案(http://pmd.sourceforge.net/)和/或findbugs(http://findbugs.sourceforge.net/)。许多环境都有可用的插件
您还可以决定修复所修改类中的所有警告。当然,这意味着每个开发人员都倾向于这样做
# 3 楼答案
这里最重要的一个词是“新的””-
您正在生成日志中查找新警告,无论其严重性或来源如何
为此,您需要当前警告集的“快照”:
复制“良好”版本的输出及其所有警告
每次新生成后(假设未失败),将新日志与保存的日志进行比较-
日志中的任何更改都意味着您有一个新的警告
干杯
# 4 楼答案
嗯,我同意没有插件可以做到这一点,但您可以使用Java1.7通过简单的步骤做到这一点
在编译时使用处理器编译代码并维护日志文件中生成的警告。每次触发build时,它都会启动,您可以将旧日志文件与新日志文件进行比较
注意:在JDK1.6和1.5中,您可以使用APT工具进行同样的操作