在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,您现在可以“分析|按名称运行检查… |未使用的声明”