java.lang.ClassCastException:org.jboss.jca.adapters.jdbc.jdk6.WrappedConnectionJDK6

时间:2013-11-25 14:52:57

标签: jsf-2 primefaces jboss jboss6.x

我有以下问题:

java.lang.ClassCastException: org.jboss.jca.adapters.jdbc.jdk6.WrappedConnectionJDK6 cannot be cast

我确实尝试在lib下的项目树中添加ironjacamar-jdbc-1.0.17.Final-redhat-1.jar

当我部署项目时,我得到以下异常:

org.jboss.jca.adapters.jdbc.jdk6.WrappedConnectionJDK6 cannot be to org.jboss.jca.adapters.jdbc.jdk6.WrappedConnectionJDK6

发生异常的代码:

java.sql.Connection connection =  ds.getConnection();
WrappedConnection c =  ((WrappedConnection)connection).getUnderlyingConnection();
OracleConnection conn = (OracleConnection) c;

我添加了一个新文件 jboss-deployment-structure.xml ,其中包含以下内容:

<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure> 
    <deployment>
        <dependencies>
            <module name="org.jboss.ironjacamar.jdbcadapters" slot="main"/>
            <module name="com.oracle.ojdbc6" slot="main"/>
        </dependencies>
    </deployment> 
</jboss-deployment-structure>

在这种情况下,我得到:

moduleloading error can not load 

<module name="com.oracle.ojdbc6" slot="main"/

的Manifest.MF:

Manifest-Version: 1.0
Class-Path: 
Dependencies:  org.jboss.ironjacamar.jdbcadapters

删除

<module name="com.oracle.ojdbc6" slot="main"/>

我得到了

oracle.jdbc.driver.T4CConnection cannot be cast to oracle.jdbc.OracleConnection

它想把所有东西都扔给JBoss开玩笑的一切吗?

你能告诉我为了获得OracleDamnedConnection我必须做些什么吗?

2 个答案:

答案 0 :(得分:1)

在文件jboss-deployement-structure.xml

中 你必须写信:

 <?xml version="1.0" encoding="UTF-8"?>
 <jboss-deployment-structure> 
 <deployment>
 <dependencies>
 <module name="org.jboss.ironjacamar.jdbcadapters" slot="main"/>
 <module name="com.oracle" />

 </dependencies>

 </deployment> 
 </jboss-deployment-structure>

因为它必须匹配jar ojdbc的路径,所以最后一个文件夹是Main。 它看起来在Main内部。所以我有路径/com/oracle/main/ojdbc.jar

答案 1 :(得分:1)

我通过编辑jboss-deployment-structure.xml文件解决了该问题:

<dependencies>
     <module name="org.jboss.ironjacamar.jdbcadapters" slot="main"/>
     <module name="com.oracle.ojdbc6" slot="main"/> 
</dependencies>