java -verbose不为每个类提供文件位置

时间:2011-05-19 11:46:25

标签: java websphere verbose

我们正在尝试使用WAS(Websphere Application Server)实例调试一些平均的类加载器问题。

为此我们提供了选项-verbose:class,以便查看WAS正在从哪个类加载。

对于大多数课程,我们得到输出

Loading class <some class> from <some jar file>

但是对于某些类(包括导致问题的类)只有

Loading class <some class>

打印出来。

这些来自哪里?让他们直接从地狱装载,或者为什么IBM保护他们的真实身份?

更新: 我们正在寻找的类是javax.xml.ws.Service,它应该来自一个rt.jar(我们得到一个java.lang.VerifyError)

3 个答案:

答案 0 :(得分:4)

如果您对JVM读取的文件感兴趣,可以使用strace,dtrace或lsof等操作系统工具来观察进程读取的文件。虽然这不会告诉你哪个类从那个文件加载。

您是否了解IBM JDK Diagnostics Guide?它包含“类加载器诊断”一章。

答案 1 :(得分:3)

也许你要加载的类不是来自jar?也许它是在飞行中生成的?该类的名称可能包含提示......

答案 2 :(得分:2)

如果输出看起来像

[Loaded $Proxy2 by instance of java.lang.reflect.Proxy]

...然后你的课程会自动生成