解决Eclipse中Findbugs检查不生效的问题

eclipse安装了Findbugs插件,
但是在eclipse中发现不了bug错误,
具体表现为指定的类存在findbugs,
已经通过其他工具检查出来,
但是在eclipse中就是无法报告错误。

原因大致分为如下2个:

1.findbugs无法找到需要检查的类的class文件:
在eclipse中检查RangerAdminClientImpl.java的findbugs发现不报错,
直接在eclipse使用Ctrl+Shift+R快捷键打开RangerAdminClientImpl.class文件报错:
The class file is not on the classpath
上面的错误表明RangerAdminClientImpl.class在eclipse中无法被读取到,
由于findbugs是基于编译过后的class类进行检查的,故无法进行检查。
解决方法:
打开eclipse -> Preferences -> File Associations,
找到FileTypes中的class,给它的Associated editors设置一个Defaut,
比如把Class File Viewer设置为Default,然后保存。
上面的class文件能在eclipse中打开,findbugs也就能正常工作了。

2.findbugs无法报告某些bug错误类型:
这是由于findbugs的配置问题造成的,可以自定义检查的bug类型和级别,
打开eclipse -> Preferences -> Java -> Findbugs,
设置Report Configuration如下:
Minimum rank to report值改为20
勾选Reported(visible) bug categories中的所有未勾选的类型。
保存后,重新进行findbugs检查即可。

你可能感兴趣的:(解决Eclipse中Findbugs检查不生效的问题)