【发布时间】:2017-06-22 05:59:31
【问题描述】:
JBoss EAP 6.4 独立服务器
部署为 war 文件的应用程序引发运行时异常
java.lang.ClassCastException: oracle.sql.ARRAY cannot be cast to oracle.sql.ARRAY
一行
ARRAY a = (ARRAY) cs.getArray(1);
包含的 JDBC 库是 ojdbc14.jar (WEB_INF/lib)。所有库都包含在 war 文件中,并且服务器上没有设置“全局”库。我已验证应用程序的任何位置均未包含其他 jdbc 库。
为了创建 JDBC 数据源,我为 ojdbc14.jar 创建了部署。这是我能想到的唯一可能的冲突来源。当我从 war 文件中删除 ojdbc14.jar 时,我得到一个 ClassNotFound 异常来代替 ClassCastException。
应用程序的所有其他部分都可以正常工作,除了这一行。我该如何进一步调试?
我尝试了一些东西,但没有用:
(1)在 web-inf/ 中添加一个 jboss-deployment-structure.xml。
<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
<deployment>
<dependencies>
<module name="com.oracle" slot="main"/>
</dependencies>
</deployment>
</jboss-deployment-structure>
不工作,战争也不写日志。
【问题讨论】: