如何在自己的Maven項目中加入findbugs:
1.這個很簡單:在自己的pom.xml中加入
pom.xml
<project>
。。。。。。
<build>
<pluginManagement>
<plugins>
。。。。。。
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>2.3.2</version>
</plugin>
。。。。。。
</plugins>
</pluginManagement>
</build>
<reporting>
<plugins>
。。。。。。
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<findbugsXmlOutput>true</findbugsXmlOutput>
<!-- findbugs xml輸出路徑-->
<findbugsXmlOutputDirectory>target/site</findbugsXmlOutputDirectory>
</configuration>
</plugin>
。。。。。。
</plugins>
</reporting>
<!--配置插件來源-->
<pluginRepositories>
<pluginRepository>
<id>Codehaus repository</id>
<url>http://repository.codehaus.org/</url>
</pluginRepository>
</pluginRepositories>
。。。。。。
</project>
2.調用mvn compile findbugs:findbugs 生成報告。
hjzheng@ubuntu:~/app/apache-maven-3.0.3/test$ mvn compile findbugs:findbugs
。。。。。。。
[INFO] --- findbugs-maven-plugin:2.3.2:findbugs (default-cli) @ test ---
[INFO] ****** FindBugsMojo execute *******
[INFO] canGenerate is true
[INFO] ****** FindBugsMojo executeFindbugs *******
[INFO] Temp File is /home/hjzheng/app/apache-maven-3.0.3/test/target/findbugsTemp.xml
[INFO] Fork Value is true
[java] Warnings generated: 1
[INFO] xmlOutput is false
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
。。。。。。
3.調用mvn findbugs:gui 查看報告(很明顯的一個錯誤)
( Call to equals() with null argument
This method calls equals(Object), passing a null value as the argument. According to the contract of the equals() method, this call should always return false. )
4.findbugs常用命令 (見參考資料1)
findbugs:check 只檢查,不生成報告
findbugs:findbugs 產生報告
findbugs:help 幫助
findbugs:gui 開啓gui界面查看findbugs的report
5.findbugs的詳細配置 例如規則過濾,增加規則 ,指定檢查那些類
<configuration>
<excludeFilterFile>findbugs-exclude.xml</excludeFilterFile>
<includeFilterFile>findbugs-include.xml</includeFilterFile>
</configuration>