如何在自己的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>