2013-06-04 11 views
6

Ich verwende Jenkins mit FindBugs Plugin für statische Code-Analyse installiert. Außerdem hat jeder Entwickler im Team das FindBugs IntelliJ IDEA Plugin installiert, um das Gleiche zu tun.FindBugs zeigt nur ersten Fehler in der Methode (Jenkins, IntelliJ IDEA)

Das Problem ist, dass in Jenkins nur das erste Auftreten eines Fehlers in einer Methode gemeldet wird. In Idea werden alle Probleme als einzelne Fehler gemeldet. Zum Beispiel:

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(); 
} 

in diesem Verfahren berichtet Idea 4 Fehler vom Typ VA_FORMAT_STRING_USES_NEWLINE. Auf dem jenkins-Server gibt es tatsächlich nur einen Fehler, der mit der Zeichenfolge First \n übereinstimmt.

Gibt es eine Möglichkeit, Jenkins oder Idea so zu konfigurieren, dass sie sich gleichmäßig verhalten?

Versionen:

  • IntelliJ Idea Unternehmen 12.1.3
  • FindBugs-IDEA-Plugin 0.9.97
  • Jenkins 1.513
  • Jenkins findbugs Plugin 2.0.2
+0

Möglicherweise haben Sie Jenkins Setup, um den Build fehlzuschlagen und die Verarbeitung zu stoppen, sobald es einen Fehler findet - was ziemlich normal ist. Idea überprüft jedoch ständig jede Codezeile über den statischen Analyzer, was bedeutet, dass es nicht stoppt, wenn es einen Fehler findet. Ich würde nicht denken, dass du das Verhalten von beiden ändern möchtest. –

+0

@EngineerDollery Hallo, eigentlich möchte ich das Verhalten so ändern, dass beide Tools genau die gleichen Ergebnisse liefern. Ich weiß jedoch nicht, wie man das Verhalten von entweder –

+0

ändern kann Zuerst müssen Sie sicherstellen, wo das Problem liegt. Haben Sie überprüft, ob die Eingabe für das Plugin korrekt ist, da die XML-Datei 4 Einträge enthält? Und haben Sie versucht, das Plugin aus den Jenkins-Repositories anstelle der Ideenversion zu verwenden? – uncletall

Antwort

0

die einzige Lösung, die ich bisher gefunden habe, ist ein anderes Plugin zu verwenden, z. QAPlug Findbugs. Dieser Bericht enthält genau die gleichen Ergebnisse wie Jenkins.

Der Nachteil ist, es ist ein bisschen ungeschickter als FindBugs-IDEA Plugin.

Verwandte Themen