java - Java 的 Dependency Walker?

标签 java class dependencies

<分区>

我正在寻找一种工具,它可以列出要运行的给定 Java 类的 .class 依赖项。有点像什么Dependency Walker适用于 Windows 应用程序。

我知道一些工具,但它们过于复杂或不太匹配,包括

有什么建议吗? TIA!!

最佳答案

JVM只会加载程序中实际引用的类。因此,您可能无法通过删除依赖项来减少运行时内存消耗。如果您在减小程序大小以简化部署之后,您可以使用它来检测实际需要哪些类:只需在启用 VM 的类加载日志记录的情况下运行应用程序,日志文件将列出所有使用的类。

例如,对于 Sun JVM,您可以添加 VM 参数 -verbose:class,即按如下方式启动您的应用程序:

java -verbose:class -cp thejarfiles package.Main password

并对日志进行后处理以提取所有类名。

(当然,这种方法假定相同的类用于程序的每次执行,这可能是您的“简单 CLI 实用程序”的情况)

关于java - Java 的 Dependency Walker?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3098171/

相关文章:

java - 在 Java 中避免依赖 hell 的首选步骤是什么?

java - 无法延迟获取 - @Transactional 方法中没有 session

java - Maven相关的Java构建错误: pom. xml丢失

java - 如何使用 Base 64 调用 ocr.space API

c# - 重写抽象方法时,我重新设置抽象是否正确?

c++ - 如何为模板类重载 % 运算符?

java - 将 "any"类类型传递到 java 方法中

java - 限制 gradle 依赖项任务的显示深度

java - JPanels 内的 JButtons,填满整个面板

java - JavaFX 2 中的组合框键值对