Maven - SpotBugs-Beispiel

Maven - SpotBugs Beispiel

image

In diesem Artikel zeigen wir Ihnen, wie Sie mitSpotBugs Maven Plugin Fehler im Java-Code finden.

Note
Findbugs is no longer maintained, und somit ist SpotBugs der spirituelle Nachfolger von FindBugs

P.S SpotBugs requires JDK 1.8

1. Maven SpotBugs Plugin

Definieren Siespotbugs-maven-plugin im Tagreporting. Damitmvn site den SpotBugs-Bericht generiert.

pom.xml

    
        
            
                com.github.spotbugs
                spotbugs-maven-plugin
                3.1.8
            
        
    

2. Java-Code

Ein einfacher Java-Code mit einem nicht verwendeten Feld "abc" und einem Leistungsproblem in der "+ string" -Schleife. Später kann SpotBugs es erkennen und im Bericht anzeigen.

package com.example.examples;

public class StaticCodeExample {

    //Unused field
    private int abc;

    private String ip = "127.0.0.1";

    public void test() {

        String[] field = {"a", "b", "c", "s", "e"};

        //concatenates strings using + in a loop
        String s = "";
        for (int i = 0; i < field.length; ++i) {
            s = s + field[i];
        }

        System.out.println(ip);

    }

}

3. Maven Site

mvn compile siteUm eine Maven-Site für das Java-Projekt zu generieren, wird der SpotBugs-Bericht generiert und automatisch in die Maven-Site integriert.

$ mvn compile site

[INFO] Generating "SpotBugs" report      --- spotbugs-maven-plugin:3.1.8:spotbugs
[INFO] Generating "Dependency Information" report --- maven-project-info-reports-plugin:3.0.0:dependency-info
[INFO] Generating "About" report         --- maven-project-info-reports-plugin:3.0.0:index
[INFO] Generating "Plugin Management" report --- maven-project-info-reports-plugin:3.0.0:plugin-management
[INFO] Generating "Plugins" report       --- maven-project-info-reports-plugin:3.0.0:plugins
[INFO] Generating "Summary" report       --- maven-project-info-reports-plugin:3.0.0:summary
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  7.732 s
[INFO] Finished at: 2018-11-19T15:38:56+08:00
[INFO] ------------------------------------------------------------------------

4. SpotBugs-Bericht

Überprüfen Sie den Bericht beitarget/site/spotbugs.html

image

Quellcode herunterladen

$ git clone https://github.com/example/maven-examples.git
$ cd maven-static-code-analysis
$ mvn compile site

Bericht unter target / site / spotbugs.html anzeigen