如何获取项目中的类列表,该项目中的任何内容都不再需要这些类

csh*_*nes 7 java refactoring dependencies

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

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

         A
        / \
       /   \
      C     B
Run Code Online (Sandbox Code Playgroud)

我开始通过将代码从B移动到A进行重构,以便它可以由C和B共享.但是,现在我已经接近完成重构,我想检查是否有任何类我移动到现在可以向下移动到B(A中的类但A中没有使用任何代码的类)

是否有一些工具可以用来为我生成这样的类列表?

Rob*_*b H 6

JBoss Tattletale适用于此.我过去曾使用它来弄清楚我们的项目不再需要哪些第三方库,以及了解多个JAR文件中存在的潜在冲突的包/类.