Java 如果类名相等,如何使用ClassLoader的名称增强ClassCastException消息?

Java 如果类名相等,如何使用ClassLoader的名称增强ClassCastException消息?,java,classloader,classcastexception,Java,Classloader,Classcastexception,我得到了一个ClassCastException,因为同一个类由不同的类加载器加载 因此,ClassCastException的结果消息不是很有用 例如:org.apache.cxf.jaxrs.impl.ResponseImpl不能强制转换为org.apache.cxf.jaxrs.impl.ResponseImpl 有没有办法通过两个类加载器的名称来增强ClassCastException的消息 例如:org.apache.cxf.jaxrs.impl.ResponseImpl由org.ec

我得到了一个
ClassCastException
,因为同一个类由不同的类加载器加载

因此,ClassCastException的结果消息不是很有用

例如:
org.apache.cxf.jaxrs.impl.ResponseImpl不能强制转换为org.apache.cxf.jaxrs.impl.ResponseImpl

有没有办法通过两个类加载器的名称来增强ClassCastException的消息

例如:
org.apache.cxf.jaxrs.impl.ResponseImpl由org.eclipse.osgi.internal.baseAdapter加载。DefaultClassLoader@21f67a65[org.apache.cxf.cxf rt frontend jaxrs:2.7.2(id=64)]无法强制转换为由其他类加载器加载的org.apache.cxf.jaxrs.impl.ResponseImpl

仅当类的名称相等时,才应添加类加载器的名称

我认为ClassCastException是在JRE的内部创建的

那么JRE需要修改吗

我是否必须在某处发布增强建议

我无法通过其他方式获取其他类加载器的名称: •ClassCastException发生在外部代码中(本例中为CXF) •(远程)通过Eclipse调试不会显示实例的类加载器 •由于远程服务器出现问题,下载堆转储需要几个小时

PS:Runtime:
Java(TM)SE运行时环境(build 1.8.0_25-b17)