2
今天遇到問題。classcast異常來自擴展類加載類
abc.ClassA a = (abc.ClassA) request.getsession().getAttribute();
我在這裏得到了classcast異常。
abc.ClassA
是從項目構建路徑中的jar文件引用的。
我也讀過關於正在加載不同類加載器的類,問題可能是becoz。
今天遇到問題。classcast異常來自擴展類加載類
abc.ClassA a = (abc.ClassA) request.getsession().getAttribute();
我在這裏得到了classcast異常。
abc.ClassA
是從項目構建路徑中的jar文件引用的。
我也讀過關於正在加載不同類加載器的類,問題可能是becoz。
你的課由兩個不同的類加載器加載。
我猜你的罐子位於兩次的類加載器層次:(?戰爭),一旦某處父路徑(?的WebLogic LIB),另一次在一個孩子
最好的解決辦法是在類路徑中放一個罐子只有一次。
如果這是不可能的,您可以嘗試更改類加載器的客戶端優先/客戶端最後行爲。
提示:你可以調試它,並很容易地得到有問題的類加載器。在調試器中停止問題行,然後比較request.getsession().getAttribute().getClass().getClassloader()
和abc.ClassA.class.getClassloader()
向我們展示完整的堆棧跟蹤。 – skaffman 2012-03-08 10:10:26
http://stackoverflow.com/questions/826319/classcastexception-when-casting-to-the-same-class – Jayan 2012-03-08 10:12:58
java.lang.ClassCastException:vss.YearMakeModel無法在com.gm上轉換爲vss.YearMakeModel \t。 nvls.controller.WidgetController.getMake(WidgetController.java:271) \t在com.gm.nvls.controller.WidgetController.doPost(WidgetController.java:83) \t在com.gm.nvls.controller.WidgetController.doGet( WidgetController.java:423) \t在javax.servlet.http.HttpServlet.service(HttpServlet.java:707) \t在javax.servlet.http.HttpServlet.service(HttpServlet.java:820) \t在weblogic.servlet .internal.StubSecurityHel每$ ServletServiceAction.run(StubSecurityHelper.java:227) – 2012-03-08 10:17:02