我有一个大型Eclipse项目,其中存在多个类,虽然它们不再在任何地方使用,但从未标记为@Deprecated。
如何轻松找到所有这些?
答案 0 :(得分:81)
我也想使用UCDetector:
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,您现在可以“按名称分析|运行检查... |未使用的声明”