在Java Eclipse项目中查找未使用的类

时间:2009-03-20 10:09:23

标签: java eclipse refactoring

我有一个大型Eclipse项目,其中存在多个类,虽然它们不再在任何地方使用,但从未标记为@Deprecated。

如何轻松找到所有这些?

3 个答案:

答案 0 :(得分:81)

我也想使用UCDetector

screenshot

  

UCDetector(Unecessary Code Detector)是一个开源的eclipse PlugIn工具,用于查找不必要的(死的)公共java代码。它还试图使代码最终,受保护或私有。

奖励:它还可以找到类之间的循环依赖关系

(也是一个number of other tools - 包括Findbugs - 知道怎么做呢)


警告Cid提及in the comments

  

如果存在仅在运行时才知道的接口实现,则UCDetector不起作用   它错误地将实现类标记为未使用。


2017年更新:静态代码分析在8年内发展了不少 使用SonarLint for Eclipse,您可以使用最新的SonarJava 4.6 plugin来分析您的代码 它将find dead code

答案 1 :(得分:1)

ProGuard 可用于打印未使用的类/方法的报告。但是,为它提供所有相关的罐子是一种痛苦。

这些选项列出了应用程序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[]);
}

答案 2 :(得分:-1)

只需使用Analyze |检查代码并启用适当的检查(声明冗余组下的未使用声明)。

使用IntelliJ 11 CE,您现在可以“按名称分析|运行检查... |未使用的声明”