当前位置: 首页 > 知识库问答 >
问题:

Jboss EAP7/WildFly Oracle数据源错误:缺少/不可用依赖项的服务

农明辉
2023-03-14

我现在正在使用Jboss EAP7.1,最近我将Oracle数据源添加到服务器,作为之前正确配置的数据源。但我收到了错误信息:

<!-- standalone.xml -->
<datasource jndi-name="java:jboss/datasources/CreditDS" pool-name="CreditDS" enabled="true">
    <connection-url>jdbc:oracle:thin:@***</connection-url>
    <driver>oracle11g</driver>
    …… …… ……
</datasource>
<drivers>
<driver name="oracle11g" module="com.oracle.ojdbc14">
    <xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>
</driver>
</drivers>
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="com.oracle.ojdbc14">
    <resources>
        <resource-root path="ojdbc14-10.2.0.4.0.jar"/>
    </resources>
    <dependencies>
        <module name="javax.api"/>
        <module name="javax.transaction.api"/>
    </dependencies>
</module>

怎么了?

共有1个答案

岳炎彬
2023-03-14

我猜您的oracle模块没有被正确识别。

添加oracle JDBC模块的过程如下:

1创建文件夹com/oracle/ojdbc14/10.2.0.4.0withingjboss_home/module目录
2将oracle jar文件复制到该文件夹,并添加具有以下内容的module.xml

 <?xml version="1.0" encoding="UTF-8"?>
 <module xmlns="urn:jboss:module:1.3" name="com.oracle.ojdbc14" slot="10.2.0.4.0">
   <resources>
     <resource-root path="ojdbc14-10.2.0.4.0.jar"/>
   </resources>
   <dependencies>
     <module name="javax.api"/>
     <module name="javax.transaction.api"/>
   </dependencies>
 </module>
 <driver name="oracle14" module="com.oracle.ojdbc14:10.2.0.4.0">
     <xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>
 </driver>

有几件事需要注意:

请注意JBoss模块XMLNS的正确版本--您用EAP7标记了您的问题--因此应该使用XMLNS 1.3。
注意modules.xml和驱动程序定义中的slot值。这可以是任何值,但最好使用lib版本。
在JBoss中添加任何模块后,您需要完全重新启动它(重新启动JVM)。
最后,您应该使用Oracle JDBC驱动程序的最新版本,因为ojdbc14不再受支持,所以应该如下所示:

module.xml

<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.3" name="com.oracle.ojdbc7" slot="12.1.0.2">
<resources>
  <resource-root path="ojdbc7-12.1.0.2.jar"/>
</resources>

<dependencies>
    <module name="javax.api"/>
    <module name="javax.transaction.api"/>
</dependencies>

文件夹modules/com/oracle/ojdbc7/12.1.0.2

司机:

<driver name="oracle7" module="com.oracle.ojdbc7:12.1.0.2">
   <xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>
</driver>
 类似资料:
  • 问题内容: 知道为什么我会收到此错误: persistence.xml mydatasource-ds.xml module.xml 问题答案: 错误的原因是您缺少依赖java:jboss / datasources / UserDS。使用Jboss 7.x +,您可以将这些数据源直接添加到您发现的应用服务器配置中。 独立配置和域配置之间的区别在于,独立配置仅针对具有该配置的一台应用服务器而设计。

  • 我正在将旧的OC4J web应用程序迁移到JBOSS 6.1应用程序服务器、Hibernate 4.6 final、JDK 1.7和EAR部署。 我已经更新了我的ANT构建脚本 当我启用我的EAR时,我得到以下错误 JBAS014771:缺少/不可用依赖项的服务”= 方法#1(使用GUI引入数据源) 我使用JBOSS GUI控制台来管理我的JDBC. jar 应用程序正在使用ORM的Hiberna

  • 我用的是野蝇10号。起初,我试图通过CLI创建数据源。 一个命令得到了很好的执行。显示驱动程序已安装 连接测试 现在我尝试使用创建数据源 我的 中的“datasources”部分 现在在部署的时候我看到这样的消息 WFlyCTL0184:新的丢失/未满足的依赖项:service jboss.jdbc-driver.mysql(丢失)依赖项:[service jboss.driver-demande

  • 我试图构建一个不和谐的应用程序,但由于某些原因,它无法访问JDA。错误如下: 编辑:这是我的POM:

  • 我刚刚将我的项目升级到gradle 7,并且遇到了缺失的可传递依赖项。我试着改变我的身材。gradle文件在依赖项中使用“api”,但这并没有修复它。 projectA依赖于projectB,projectB依赖于projectC。 projectA-build。格拉德尔 projectB-构建。格拉德尔 ProjectA编译良好,但有运行时错误-从project ectC获取类的ClassNot

  • 我在构建我的应用程序时遇到此问题。有人知道怎么回事吗? React Hook useEffect缺少依赖项:“conectar”。包括它或删除依赖项数组react hooks/dep