我正在使用 Spring Web Services 和 Spring JPA Data。
我有三个项目:
- 文档-ws。Web 应用程序,它是我的文档 Web 服务的端点。
- 标志-ws。Web 应用程序,它是我的签名 Web 服务的端点。
- 数据-ws。具有所有 jpa 实体 (@Entity)、spring jpa 存储库 (@Repository) 和 spring 服务类 (@Services) 的 Jar 模块。
doc-ws 和 sign-ws 与 data-ws 有依赖关系,所以 doc-ws.war 和 sign-ws.war 中包含了一个 data-ws.jar。
当我单独部署 doc-ws Web 应用程序时,所有 Web 服务测试都可以正常工作。当我单独部署 sign-ws Web 应用程序时,所有 Web 服务测试都可以正常工作。但是,当我在同一个 Jboss EAP 7.1 中同时部署这两个 Web 应用程序时,我在执行 Web 服务测试时遇到了 ClassCastExceptions。
java.lang.ClassCastException:com.ieci.mugeju.data.entity.IdocConfiguration 无法转换为 com.ieci.mugeju.data.entity.IdocConfiguration
List<IdocConfiguration> properties = idocConfigurationRepository.findAll(); <-- works fine
for (IdocConfiguration property: properties) <-- Here throws the ClassCastException
{
.... // CODE
}
异常消息引用了同一个 jpa 实体(com.ieci.mugeju.data.entity.IdocConfiguration),所以我不明白为什么会抛出这个异常。
这一定是两个 Web 应用程序之间的类加载问题,但我不确定。
我正在使用 JBoss EAP 7.1、spring-data-jpa 2.0.5、eclipseling 2.6.4、spring-ws-core 3.0.1。
知道为什么我会收到此异常吗?我该怎么解决?
谢谢