如何让对象/类告诉我它来自哪个jar文件

Chr*_*ris 6 java eclipse reflection

在Eclipse中,正在加载一个不可能的类.在调试模式下,我可以暂停它并看到对类abc的调用但是abc类应该存在于任何地方,因为它已被重命名.我的假设是有一个旧的jar文件被调用...但我找不到它.那么在eclipse中如何在调试模式下找到类abc所在的jar文件?通过eclipse菜单选项或通过Java并使用反射来获取对象告诉我自己的jar文件.

谢谢.

Tho*_*ung 5

您可以使用类加载器来检索资源的URL.这也适用于类.获取java.lang.String课程的位置:

X.class.getClassLoader().getResource("java/lang/String.class");
Run Code Online (Sandbox Code Playgroud)

输出:

jar:file:/C:/Program%20Files/Java/jdk1.6.0_17/jre/lib/rt.jar!/java/lang/String.class
Run Code Online (Sandbox Code Playgroud)


Car*_*icz 3

如果您使用 -verbose:class 启动 JVM(您可以将其设置为 Eclipse 中的 JVM 选项),您可以准确地看到哪些类是在何时加载的,我想是从哪里加载的。