2011-12-13 51 views
2

我想知道,如果有任何易于使用的工具,为Java,执行以下操作 -Java的相关性分析

  1. 一个工具,可以告诉我是从未在该项目的任何地方叫什么班?
  2. 如果某些类正在调用对方,但它不是项目的一部分。
+0

你说的第2点是什么意思?我的意思是,`Pattern`类将根据请求创建一个Matcher对象(调用构造函数),但不适用于(大多数)应用程序。如果这就是你要找的东西,你的清单可能会过长。此外,标准编译器会为'未使用'的引用生成警告(也包括方法/变量,尽管不一定是类)。 – 2011-12-13 21:35:53

+0

对于第2点,让我举个例子。如果软件中有5个模块,并且只有4个模块用于运行应用程序,则意味着1个模块从未使用过。然而,在这个模块中,有3个类正在调用对方,在这种情况下,依赖分析会告诉我这3个类也被其他类使用。在这种情况下,第1点(在我的问题中)的结果可能是0类。 – user751637 2011-12-13 21:42:05

回答

2

您可以使用一个静态代码分析,如SourceMonitor。 在那里您可以检查每个方法的调用,并查看一个类是否包含未调用的方法。