【问题标题】:How to get a list of classes in a project that are no longer needed by anything in that project如何获取项目中不再需要的项目中的类列表
【发布时间】:2011-03-15 02:00:05
【问题描述】:

有没有办法在 Java 项目中生成该项目中任何其他类不再需要的类列表?

这是一个帮助说明情况的图表(我希望你喜欢我的 ASCII 图表,因为我没有足够的代表来使用图像),其中 C 和 B 依赖于项目 A:

         A
        / \
       /   \
      C     B

我通过将代码从 B 移动到 A 开始重构,以便 C 和 B 共享它。但是,现在我即将完成重构,我想检查是否有任何类我移到了 A,现在可以移回 B(A 中的类,但 A 中的任何代码都没有使用)

有什么工具可以用来为我生成这些类的列表吗?

【问题讨论】:

  • +1 为您的 ascii 图 :-)

标签: java refactoring dependencies


【解决方案1】:

JBoss Tattletale 很适合这个。我过去曾使用它来确定我们的项目不再需要哪些第三方库,并了解多个 JAR 文件中存在的潜在冲突包/类。

【讨论】:

    【解决方案2】:

    使用 JVM 的 -verbose:class flag 启动您的程序。将输出重定向到文件。锻炼你的程序——运行你的测试或其他什么。找出每个加载的类的名称。在构建输出目录上运行 find 以列出所有类。比较结果以在构建输出目录中找到不在已加载类列表中的任何内容。

    【讨论】:

      猜你喜欢
      • 2011-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-20
      相关资源
      最近更新 更多