我的webapplication抛出以下ClassCastException:
java.lang.ClassCastException: org.postgresql.jdbc4.Jdbc4ResultSetMetaData cannot be cast to org.postgresql.jdbc4.Jdbc4ResultSetMetaData
显然这些类是相同的,所以这是一个奇怪的错误.
我发现使用-verbose:class
该类Jdbc4ResultSetMetaData
从两个jar文件加载,一个在我的Jetty lib/ext /目录中,另一个在我的webapplication中的/ WEB-INF/lib目录中.这些jar文件版本完全相同(md5sum完全相同)
这让我相信它确实是完全相同的类,但ClassCastException可能是由两个不同的类加载器加载同一个类引起的.
是否可以记录/跟踪使用jvm参数加载类的类加载器的名称或id?