我有一个大型的Eclipse项目,其中存在几个类,尽管它们不再在任何地方使用,但从未标记为@Deprecated。
如何轻松找到所有这些?
Answers:
我也喜欢使用UCDetector:
UCDetector(必要代码检测器)是一个开源eclipse插件工具,用于查找不必要的(死)公共Java代码。它还尝试使代码最终,受保护或私有。
奖励:它还可以查找类之间的循环依赖关系
(还有许多其他工具(包括Findbugs)也知道该怎么做)
如果存在仅在运行时才知道的接口实现,则UCDetector不起作用。
它错误地将实现类标记为未使用。
2017年更新:静态代码分析在8年中发展了很多。
使用SonarLint for Eclipse,您可以使用最新的SonarJava 4.6插件来分析代码。
它将找到无效代码。
ProGuard可用于打印未使用的类/方法的报告。但是,向其提供所有依赖的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[]);
}
只需使用分析| 检查代码并启用适当的检查(“声明冗余”组下的“未使用的声明”)。
使用IntelliJ 11 CE,您现在可以“分析|按名称运行检查... |未使用的声明”