在Java Eclipse项目中查找未使用的类
我有一个大型的Eclipse项目,其中有几个类,尽pipe它们不在任何地方使用,但从未标记@Deprecated。
我怎样才能轻松find所有这些?
我也喜欢使用UCDetector :
UCDetector(有用的代码检测器)是一个开源的Eclipse插件工具,用于查找不需要的(死的)公共java代码。 它也试图使代码最终,保护或私人。
奖金:它也可以find类之间的循环依赖关系
(还有一些其他工具 ,包括Findbugs,也知道怎么做)
警告 : Cid 在评论中提到:
如果有只在运行时才知道的接口实现,则UCDetector不能工作。
它错误地将实现类标记为未使用。
2017年更新:静态代码分析已经在8年内发展了很多。
使用SonarLint for Eclipse ,您可以使用最新的SonarJava 4.6插件来分析您的代码。
它会发现死码 。
ProGuard可以用来打印未使用的类/方法的报告。 尽pipe如此,向所有依赖的jar子供应是一种痛苦。
这些选项列出应用程序中未使用的类,字段和方法mypackage.MyApplication:
-injars in.jar -libraryjars <java.home>/lib/rt.jar -dontoptimize -dontobfuscate -dontpreverify -printusage -keep public class mypackage.MyApplication { public static void main(java.lang.String[]); }
只需使用Analyze | 检查启用适当的检查代码(声明冗余组中未使用的声明)。
使用IntelliJ 11 CE,您现在可以“分析|按名称运行检查… |未使用的声明”