java依赖性分析

java依赖性分析,java,dependencies,Java,Dependencies,我想知道,对于Java,是否有任何易于使用的工具来执行以下操作- 一个工具,可以告诉我什么类从来没有被调用的项目中的任何地方 如果某些类正在相互调用,但它不是项目的一部分 如果您使用的是eclipse,则可以安装CodePro插件。它有测试代码覆盖率的工具。此处的说明:像和IDE这样的工具提供依赖项分析您可以使用静态代码分析器,如。 在这里,您可以检查每个方法调用,并查看类是否包含未调用的方法。UCDetector覆盖了第1点,但不确定第2点 第2点是什么意思?我的意思是,Pattern类将根据

我想知道,对于Java,是否有任何易于使用的工具来执行以下操作-

  • 一个工具,可以告诉我什么类从来没有被调用的项目中的任何地方
  • 如果某些类正在相互调用,但它不是项目的一部分

  • 如果您使用的是eclipse,则可以安装CodePro插件。它有测试代码覆盖率的工具。此处的说明:

    像和IDE这样的工具提供依赖项分析

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

    UCDetector覆盖了第1点,但不确定第2点


    第2点是什么意思?我的意思是,
    Pattern
    类将根据请求创建一个
    Matcher
    对象(调用构造函数),但通常不用于(大多数)应用程序。如果这是你想要的,你的清单可能会太长。此外,标准编译器将为未被“使用”的
    import
    引用(以及方法/变量,尽管不一定是类)生成警告。对于第2点,让我给你一个例子。若一个软件中有5个模块,并且只有4个模块用于运行应用程序,则表示从未使用过1个模块。然而,在这个模块中有3个类相互调用,在这个例子中,依赖性分析会告诉我这3个类也被其他类使用。在这种情况下,第1点(在我的问题中)的结果可能是0个类。对于一个拥有数千个类的项目来说,它是否容易使用?SourceMonitor从源代码中提取信息,并以方便的方式存储这些信息,以便在“调用”上进行排序、搜索、向下搜索等列,然后您将很容易找到候选类。我在上千个课程的项目中使用了它,没有任何问题。