Maven - пример SpotBugs

Maven - пример SpotBugs

image

В этой статье мы покажем вам, как использоватьSpotBugs Maven Plugin для поиска ошибок в коде Java.

Note
Findbugs is no longer maintained, и, таким образом, SpotBugs является духовным преемником FindBugs.

P.S SpotBugs requires JDK 1.8

1. Плагин Maven SpotBugs

Определитеspotbugs-maven-plugin в тегеreporting. Так чтоmvn site сгенерирует отчет SpotBugs.

pom.xml

    
        
            
                com.github.spotbugs
                spotbugs-maven-plugin
                3.1.8
            
        
    

2. Java-код

Простой Java-код с неиспользуемым полем «abc» и проблемой производительности в цикле «+ string». Позже SpotBugs сможет обнаружить его и показать в отчете.

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 site для создания сайта Maven для проекта Java, отчет SpotBugs будет сгенерирован и автоматически интегрирован в сайт Maven.

$ 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

Просмотрите отчет наtarget/site/spotbugs.html

image

Скачать исходный код

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

просмотреть отчет по адресу target / site / spotbugs.html