服务器启动错误消息为:
16:08:37,829 ERROR [org.jboss.as.controller.management-operation] (ServerService
Thread Pool -- 27) JBAS014613: Operation ("add") failed - address: ([
("subsystem" => "datasources"),
("jdbc-driver" => "firebird")
]) - failure description: "JBAS010441: Failed to load module for driver [org.fir
ebirdsql]"
module.xml 的内容:
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.3" name="org.firebirdsql">
<resources>
<resource-root path="jaybird-2.2.5.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.resource"/>
<module name="javax.transaction.api"/>
</dependencies>
</module>
standalone.xml 中的驱动程序定义:
<driver name="firebird" module="org.firebirdsql">
<driver-class>org.firebirdsql.jdbc.FBDriver</driver-class>
</driver>
(基于http://masterjboss.blogspot.de/2014/03/how-to-configure-mysql-jdbc-driver-in.html)
类似问题(未接受回答):Db2 Driver/Datasource setup on wildfly: Failed to load module for driver [com.ibm]
答案 0 :(得分:4)
将<module name="javax.resource"/>
替换为依赖项部分中的<module name="javax.resource.api"/>
。
答案 1 :(得分:1)
我已安装WildFly 8.1并在以下位置添加了模块:
<wildfly-root>\modules\org\firebirdsql\main\
module.xml
jaybird-2.2.5.jar
请注意,这与您链接到的教程中使用的位置不匹配。教程 - 错误地 - 将用户模块设置在modules\system\layers\base
而不是modules\
中,但是当我将模块放在那里时它也能正常工作。
我的module.xml
定义包含以下内容:
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.0" name="org.firebirdsql">
<resources>
<resource-root path="jaybird-2.2.5.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
<module name="javax.resource.api"/>
</dependencies>
</module>
我将驱动程序条目添加到standalone.xml
,与您发布的完全相同。然后在管理控制台中添加了一个数据源,并测试了连接。
这很有效。我在评论中的早期理论认为,由于Web Profile不包括资源连接器,它不适合您,这似乎是错误的。当WildFly在Java 7上运行时,我也使用Java 8版本的Jaybird进行了测试,但是这得到了UnsupportedClassVersionError
的预期。
我能够在你的问题中得到错误的唯一方法是故意错放模块(例如,完全删除它,在文件夹名称中出现拼写错误,或将其放在错误的位置)。我建议您仔细检查您的模块位置(见上文)。
有关特定问题的解决方案,请参阅the answer by asohun。我将保留这个答案,因为它包含正确的配置和产生相同错误的替代故障模式。