当前位置: 首页 > 面试题库 >

如何获取主类的Java类依赖关系列表?

巩阳秋
2023-03-14
问题内容

有没有一种方法可以找到Java主类的所有类依赖关系?

我一直在手动筛选主类及其导入的内容,但是后来意识到,因为不必导入同一包中的类,所以我整理了一个不完整的列表。

我需要一些可以递归地找到依赖关系的东西(也许到定义的深度)。


问题答案:

只需使用javac即可轻松完成。删除您的类文件,然后编译主类。javac将递归地编译它需要的任何类(前提是您不要在名称奇怪的文件中隐藏包私有类/接口)。当然,这不涉及任何递归黑客。



 类似资料:
  • 我试图让ESB系统使用ServiceMix和ActiveMQ运行。但甚至在我深入到这一点之前,我就有一个关于POM依赖类型的问题。我得到的maven依赖关系如下: 如能提供任何指导,不胜感激。这个ServiceMix由于缺乏文档而令人沮丧。

  • 问题内容: 我有一个已经工作了一段时间的Java项目。设计开始时效果不错,但随着更改的进行而逐渐退化。我正在寻找某种可以分析项目的工具。拥有不同类/方法的依赖关系图真的很棒。我觉得只有某些方法可以实现非常具体的目标。我想消除不必要的代码并使我的设计更好。 任何建议都很好!谢谢! 问题答案: 您可能要签出JDepend。它是专门为解决您面临的问题而开发的。 作为顾问,对我而言,陷入庞大的遗留代码库中

  • 我想验证一下,给定包中的类只引用驻留在包本身中的类。然而,我遇到了一个冲突,告诉我a类依赖于例如java.lang.String,这对我来说是完全可以的。有没有一种方法可以忽略基本的java包?

  • 问题内容: 我一直在尝试找到如何使用spaCy获取依赖关系树,但是我找不到如何获取树的任何内容,仅能找到如何导航树的内容。 问题答案: 事实证明,该树可通过文档中的令牌使用。 您是否要查找树的根,可以只浏览文档: 为了浏览树,令牌具有API来通过子代

  • 问题内容: 给定以下目录结构: 假设两个文件,并包含下面的代码,分别为: 假设当前目录是 为什么即使我们尚未编译,命令仍能成功运行? 同样,如果当前目录是该命令,则该命令也起作用。为何如此? 问题答案: 为什么命令javac -cp。即使我们尚未编译B.java,pkg / A.java也会成功运行 当你编译,编译; 以及因为两者并都在同一个包。即使这两个软件包都在目录中并且您从目录进行编译,即使

  • 我想问一下URLClassLoader。我写了一篇主要的文章。运行良好的jar文件。现在我想让它能够从它的一个文件夹加载插件。我写了它,直到它找到了答案。jar文件在文件夹中,可以在其中列出它们的类(它们的名称、路径)。问题是,当我要求他查找该类(用于创建它的实例)时,他们找不到它从我的主jar文件继承的类,如下所示: 因此,当我要求UrlClassLoader解析“ExpansionA”类时,它