Java - 获取 JVM 中加载的所有类的列表

新手上路,请多包涵

我想获取属于某个包的所有类及其所有子类的列表。这些类可能已经加载到 JVM 中,也可能还未加载。

原文由 Walter White 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.4k
2 个回答

好吧,我所做的只是列出类路径中的所有文件。它可能不是一个出色的解决方案,但它工作可靠,并为我提供了我想要的一切,甚至更多。

原文由 Walter White 发布,翻译遵循 CC BY-SA 3.0 许可协议

这不是一个程序化的解决方案,但你可以运行

java -verbose:class ....

JVM 将转储它正在加载的内容以及从何处加载。

 [Opened /usr/java/j2sdk1.4.1/jre/lib/rt.jar]
[Opened /usr/java/j2sdk1.4.1/jre/lib/sunrsasign.jar]
[Opened /usr/java/j2sdk1.4.1/jre/lib/jsse.jar]
[Opened /usr/java/j2sdk1.4.1/jre/lib/jce.jar]
[Opened /usr/java/j2sdk1.4.1/jre/lib/charsets.jar]
[Loaded java.lang.Object from /usr/java/j2sdk1.4.1/jre/lib/rt.jar]
[Loaded java.io.Serializable from /usr/java/j2sdk1.4.1/jre/lib/rt.jar]
[Loaded java.lang.Comparable from /usr/java/j2sdk1.4.1/jre/lib/rt.jar]
[Loaded java.lang.CharSequence from /usr/java/j2sdk1.4.1/jre/lib/rt.jar]
[Loaded java.lang.String from /usr/java/j2sdk1.4.1/jre/lib/rt.jar]

有关更多详细信息,请参见 此处

原文由 Brian Agnew 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题