UCDetector
官网:http://www.ucdetector.org
UCDetector
用于扫描无用的Java
类、方法、变量等。
UCDetector
是一个Eclipse的插件。
curl -LO https://jaist.dl.sourceforge.net/project/ucdetector/ucdetector/1.10.0/org.ucdetector_1.10.0.jar
2、将该jar
包放到Eclipse
的dropins
目录下:
cp org.ucdetector_1.10.0.jar ~/bin/eclipse/dropins/
3、重新启动Eclipse
通过菜单"Window → Preferences → UCDetector
",打开如下界面:
选中某个项目或者包或者类文件,右击,选择"UCDetector → Detect unnecessary code
", 如下图:
扫描后,如下图:
我们可以看到,扫描出的问题在Problem
视图中列出来,并且在编辑器中的对应行上做了标记。
每次扫描完成后,会在Eclipse
工作空间下的ucdetector_reports
文件夹下生成报告, 报告有两种形式:html
、txt
。
用浏览器打开一个html
结果报告,如下:
如果您不满意UCDetector
自动生成的html
报告, 或者想与其他的静态扫描工具的结果进行综合汇总,您就有必要使用txt
格式的报告了,txt
格式的报告就是一个格式化的文本文件,我们对他进行分析后,生成我们想要的任何展现形式。
扫描出来的不一定就是真的不需要的,这个需要自己判断,有以下几种情况:
虽然扫描出了某个类、变量、方法没有被其他类引用,很有可能是通过反射使用的。比如:
Spring
的在XML
中配置注入方式。
Android
四大组件在AndroidManifest.xml
中注册
如果是大型项目,通常,接口与实现分开的,分别打成不同的jar包。
有时候,某些类、变量、方法供第三方调用。