@Nullable und SonarQube 'Bedingt ausgeführte Blöcke sollten erreichbar sein' warning

8

Das Paket enthält folgende package-info.java:

%Vor%

Klasse hat die folgende Methode:

%Vor%

Auf dem SonarQube (Version 6.2, SonarJava 4.14.0.11784) gibt die folgende Warnung (Tintenfisch: S2583):

Wie kann ich SonarQube davon überzeugen, dass der Code tatsächlich korrekt ist?

Interessanterweise erzeugt das SonarLint-Plugin (3.0.0.2041) in Idea nicht die gleiche Warnung.

    
maximdim 19.10.2017, 18:20
quelle

2 Antworten

7

Offensichtlich wurde dieses Problem dadurch verursacht, dass wir sonar-scanner verwendeten, ohne sonar.java.libraries anzugeben. Da es sich um ein Multimodul-Maven-Projekt handelt, war uns nicht klar, wie sonar.java.libraries richtig zu spezifizieren ist.

Nicolas Peru von SonarSource schlug vor, dass wir anstelle von sonar-scanner das Plugin "sonar maven" verwenden sollten, da das Plugin Zugriff auf den Klassenpfad des Projekts hat. Tatsächlich hat das dieses Problem für uns gelöst.

    
maximdim 07.11.2017, 15:42
quelle
-2

Der JavaDoc von @Nullable sagt (Betonung meiner)

  

Diese Anmerkung eignet sich hauptsächlich zum Überschreiben einer Nonnull-Annotation. Statische Analysetools sollten die kommentierten Elemente im Allgemeinen so behandeln, als ob sie keine Annotation hätten , es sei denn, sie sind so konfiguriert, dass sie falsch negative Ergebnisse minimieren.

Entsprechend ignoriert SonarJava die Anmerkung.

Wenn Sie das Vorgehen in SonarJava in Frage stellen möchten, rufen Sie einen Thread auf : -)

    
quelle

Tags und Links