Jboss Redhat EAP中基于ojdbc14的war文件在ojdbc6中的部署问题?

时间:2019-05-17 09:37:32

标签: java oracle jboss redhat

我在运行基于ojdbc14的war文件时遇到问题(使用类),我需要将其一起部署在具有ojdbc6的JBoss EAP Server中(服务器中存在使用ojdbc6的应用程序,因此我无法替换它)

我尝试将它们放到/ com / oracle / jdbc / main中,但是无法启动服务器。

我还尝试了jboss-deployment-structure.xml,但不确定自己是否做对了。

这是部署结构的片段,如果有帮助的话:

<?xml version="1.0" encoding="UTF-8"?>  
<jboss-deployment-structure>  
        <dependencies>
             <module name="com.oracle.jdbc.ojdbc14" slot="main" />   
        </dependencies>
      <sub-deployment name="Project.war">  
            <dependencies>  
                <system>  
                    <paths>  
                        <path name="com/oracle/jdbc/"/>  
                    </paths>  
                </system>  
            </dependencies>  

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

非常感谢您的任何投入!

1 个答案:

答案 0 :(得分:1)

在JBoss EAP服务器中创建两个模块。一个模块用于ojdbc6,另一个模块用于ojdbc14。

  

ojdbc6的Module.xml

<?xml version="1.0" ?>
<module xmlns="urn:jboss:module:1.1" name="oracle.jdbc" slot="6">
    <resources>
        <resource-root path="ojdbc6.jar"/>
    </resources>
    <dependencies>
        <module name="javax.api"/>
        <module name="javax.transaction.api"/>
    </dependencies>
</module>
  

ojdbc14的Module.xml

<?xml version="1.0" ?>
<module xmlns="urn:jboss:module:1.1" name="oracle.jdbc" slot="14">
    <resources>
        <resource-root path="ojdbc14.jar"/>
    </resources>
    <dependencies>
        <module name="javax.api"/>
        <module name="javax.transaction.api"/>
    </dependencies>
</module>

根据您的要求将以上依赖项导入到您的应用程序中。

<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.1">
    <deployment>
        <dependencies>
              ....
              <module name="oracle.jdbc" slot="slot_of_required_jar"/>
              ....
        </dependencies>
    ....
    </deployment>
</jboss-deployment-structure>