Maven - Exemple SpotBugs

Maven - Exemple de SpotBugs

image

Dans cet article, nous allons vous montrer comment utiliserSpotBugs Maven Plugin pour trouver des bogues dans le code Java.

Note
Findbugs is no longer maintained, et donc SpotBugs est le successeur spirituel de FindBugs

P.S SpotBugs requires JDK 1.8

1. Plugin Maven SpotBugs

Définissez lesspotbugs-maven-plugin dans la balisereporting. Pour quemvn site génère le rapport SpotBugs.

pom.xml

    
        
            
                com.github.spotbugs
                spotbugs-maven-plugin
                3.1.8
            
        
    

2. Code Java

Un code Java simple, avec un champ inutilisé «abc» et un problème de performances dans la boucle «+ string». Plus tard, SpotBugs pourra le détecter et l'afficher sur le rapport.

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. Site Maven

mvn compile site pour générer un site Maven pour le projet Java, le rapport SpotBugs sera généré et intégré au site Maven automatiquement.

$ 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. Rapport SpotBugs

Consultez le rapport àtarget/site/spotbugs.html

image

Télécharger le code source

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

voir le rapport sur target / site / spotbugs.html