我们正在开发一些旧的java项目。代码有很多警告,但我想避免引入新的。有没有办法用maven,bamboo做到这一点。我们无权在Bamboo(公司)上安装新的插件,因此首选maven解决方案。
答案 0 :(得分:1)
嗯,我同意没有可以执行此操作的插件,但您可以使用java 1.7以简单的步骤执行此操作。
在编译时使用处理器来编译代码并维护在日志文件中生成的警告。每次触发构建时,都会启动,您可以将旧日志文件与新日志文件进行比较。
注意:在jdk 1.6和1.5中,您可以使用相同的APT工具。
答案 1 :(得分:0)
如果您使用的是eclipse,则可以添加注释(@IgnoreWarnings)以忽略现有警告。但是你必须在有警告的地方修改源。
使用PMD(http://pmd.sourceforge.net/)和/或findbugs(http://findbugs.sourceforge.net/)可能有更智能的解决方案。有很多环境的插件可供使用。
您也可以决定修改您修改的课程中的每个警告。当然,这意味着每个开发人员都倾向于这样做......
答案 2 :(得分:0)
这里重要的词是“ new ” -
您正在构建日志中查找新警告,无论其严重程度或来源如何。
为此你需要有一组当前警告的“快照”:
获取“好”构建的输出副本及其所有警告。
在每次新构建之后(假设它没有失败),将新日志与保存的日志进行比较 -
日志中的任何更改都意味着您有新的警告。
干杯
答案 3 :(得分:0)
您可以使用checkstyle任务,报告生成完成后,您可以使用xslt提取警告数量(如果报告是xml,我相信其他报告格式也可用)。
然后,使用ant任务,您可以比较当前构建中警告的数量与可接受的警告数量(如果您想要花哨的话,它可以是某个地方的硬编码数字,也可以从之前的构建工件中获取)