jboss EAP 6.4独立服务器
部署为战争文件的应用程序会抛出运行时异常
java.lang.ClassCastException: oracle.sql.ARRAY cannot be cast to oracle.sql.ARRAY
在线
array a =(array(cs.getArray(1(;
jdbc libary包括ojdbc14.jar(web_inf/lib(。所有库都包含在战争文件中,并且服务器上没有"全局"诽谤。我已经验证了应用程序中的任何地方都没有包含其他JDBC库。
为了创建JDBC数据源,我为OJDBC14.Jar创建了一个部署。这是我能想到的唯一可能的冲突根源。当我从战争文件中删除ojdbc14.jar时,我会得到一个classNotFound例外,以代替ClassCastException。
应用程序的每个其他部分都可以正常工作。我该如何再调试?
我尝试了一些东西,但行不通:
(1(将jboss-deployment structure.xml添加到Web-Inf/.
<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
<deployment>
<dependencies>
<module name="com.oracle" slot="main"/>
</dependencies>
</deployment>
</jboss-deployment-structure>
不起作用,战争也不要写日志。
当您包装的两个副本时,会发生此错误。
基于您的描述,Oracle驱动程序的部署中有一个副本。第二份副本在应用程序中。
将其从应用程序中删除,而不是在部署目录中部署Oracle Jar,而是创建其模块。