Maven - SpotBugs Beispiel

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] ------------------------------------------------------------------------
Quellcode herunterladen
$ git clone https://github.com/example/maven-examples.git
$ cd maven-static-code-analysis
$ mvn compile site
