2013-06-04 29 views
6

我正在使用Jenkins和FindBugs插件来安装静态代码分析。此外,团队中的每个开发人员都安装了FindBugs IntelliJ IDEA插件来执行相同的操作。FindBugs只显示方法中的第一个错误(Jenkins,IntelliJ IDEA)

问题是,在Jenkins中,只有第一次发生方法错误的报告。在Idea中,所有问题都被报告为单个错误。例如:

public String myMethod() { 
    StringBuilder sb = new StringBuilder(); 
    sb.append(String.format("First \n")); 
    sb.append(String.format("Second \n")); 
    sb.append(String.format("Third \n")); 
    sb.append(String.format("Fourth \n")); 
    return sb.toString(); 
} 

在这种方法中,Idea报告4类VA_FORMAT_STRING_USES_NEWLINE错误。在jenkins服务器上,实际上只有一个错误,符合字符串First \n

有没有办法配置詹金斯或想法行为一致?

版本:

  • IntelliJ IDEA的企业12.1.3
  • FindBugs的-IDEA插件0.9.97
  • 詹金斯1.513
  • 詹金斯FindBugs的插件2.0.2
+0

您可能会让jenkins设置失败,一旦发现错误 - 这是相当正常的构建和停止处理。然而,Idea不断通过其静态分析器重新评估每一行代码,这意味着它在发现错误时不会停止。我不认为你会想改变其中的任何一种行为。 –

+0

@EngineerDollery嗨,其实我想改变行为,以便两种工具都能得到完全相同的结果。但是,我不知道如何改变 –

+0

的行为。首先,您需要确定问题出在哪里。你有没有仔细检查插件的输入是否正确,因为xml文件中有4个条目的错误?你有没有尝试过使用jenkins软件库中的插件而不是想法版本? – uncletall

回答

0

唯一我迄今发现的解决方案是使用不同的插件,例如。 QAPlug Findbugs。这个报告的结果与Jenkins完全一样。

缺点是它比FindBugs-IDEA插件笨一点。