通过分析编译后的二进制代码分析java代码中潜在的bug,插件运行基于findbugs 3.0.1,运行依赖java 7或者更高版本。
pom.xml
|
|
configuration里面主要是配置findbugs的一些参数。比如搜索bug的类型啊,等级,以及搜索开销的限制。
具体参数可以见文档.比如
,可以限制检测bug的等级(1-20),一般来讲数字越小,等级越高。 可以指定具体需要检测哪些bug。样例
通过设置execution可以实现compile的过程中自动运行findbugs并且发现bug自动失败的配置。
Multimodule
Multimodule的情况可以只在总项目的pom.xml中设置,该设置对所有module生效;也可以只在子module中设置,它对子module生效。如果两个设置同时存在,子module的设置会覆盖总module。
另外,我在总的module里设置了
主要命令
- findbugs:findbugs:查找当前项目的bug,并生成bug报告
- fidnbugs:check 查找当前bug,不生成bug report
- findbugs:gui 打开一个图形界面显示之前分析到的bug,gui很强大
- findbugs:help 帮助文档。
mvn findbugs:help -Ddetail=true -Dgoal=<goal-name>
可以查看参数细节
使用方法
在设置execution时,直接执行mvn compile会自动调用findbugs,如果出错,会便以失败。
之后通过mvn findbugs:gui可以看到具体有哪些错误
不设置execution时,依次执行mvn compile, mvn findbugs:check,mvn findbugs:gui。这里要注意的是每次改完代码一定要compile,因为findbugs是基于字节码的分析。
参考文献
- maven插件项目主页
- findbugs项目主页
- FindBugs Maven Plugin Tutorial,一些使用样例
- Tutorial: using FindBugs with Maven,另一些样例
本文采用创作共用保留署名-非商业-禁止演绎4.0国际许可证,欢迎转载,但转载请注明来自http://thousandhu.github.io,并保持转载后文章内容的完整。本人保留所有版权相关权利。
本文链接:http://thousandhu.github.io/2015/11/06/findbugs-maven-plugin/