【发布时间】:2013-12-19 09:08:19
【问题描述】:
我们曾经有一个包含 EJB jar 和 WAR 的 EAR。我们从 EJB 向 WAR 发送了一个 dto 类。一切都很好。
现在我们尝试从 EAR 中提取 WAR 并创建 WAR 使用的 EJB 客户端(API jar)。这个 API jar 包含我们从 EJB 发送到 WAR 的 dto 类。
在 EAR 中,API 部署在 lib 目录中。
在 WAR 中,我们在 WEB-INF/lib 目录中有相同的 API jar。
但是现在我们在访问 dto 类的内部时得到了 ClassCastException。
对 EJB 的方法调用正常,我们可以在 WAR 中分配结果列表。但是当我们尝试从 DTO 类中读取一个值时,我们会得到 ClassCastException。
我们一遍又一遍地检查,所以 API jar 不会在 EAR 或 WAR 的某个地方导入两次。但现在我们正处于放弃的边缘。
有人知道我们做错了什么吗?
【问题讨论】:
-
好的,所以我得到了类名,它们是相同的,就像我们在调试时看到的一样......这是我们得到的异常。错误::java.lang.ClassCastException:com.xxx.admintool2.service.dataroaming.dto.LegalEntityDTO 无法转换为 com.xxx.admintool2.service.dataroaming.dto.LegalEntityDTO