You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WildFly添加MySQL数据源时已装驱动却无可用MySQL选项的问题

WildFly 22 MySQL驱动缺失问题排查修复
  • 第一处核心错误:com/mysql/main/module.xml存在严重的XML标签闭合错位问题,当前写法会导致WildFly完全无法解析模块定义。原配置中<resource-root>标签未正确闭合、依赖段的两个<module>标签未正确闭合且错误嵌套,直接造成模块加载失败。
    修正后的正确module.xml内容如下:
    <module name="com.mysql" xmlns="urn:jboss:module:1.5">
        <resources>
            <resource-root path="mysql-connector-java-8.0.23.jar"/>
        </resources>
        <dependencies>
            <module name="javax.api"/>
            <module name="javax.transaction.api"/>
        </dependencies>
    </module>
    
  • 第二处核心错误:驱动类、XA数据源类路径与8.0.23版本的Connector/J不匹配。当前配置中写的com.mysql.jdbc.Driver、com.mysql.jdbc.jdbc2.optional.MysqlXADataSource是MySQL Connector 5.x版本的旧类路径,8.x版本的对应类已经迁移到cj包路径下:
    • 普通JDBC驱动类:com.mysql.cj.jdbc.Driver
    • XA数据源实现类:com.mysql.cj.jdbc.MysqlXADataSource
      类路径不匹配会导致驱动类反射加载失败,直接被WildFly的驱动识别机制过滤,不在列表中展示。
  • 第三处注意点:确认模块目录的文件结构完全合规。wildfly-22.0.0.Final/modules/system/layers/base/com/mysql/main/目录下,必须同时存放和module.xml文件名完全匹配的mysql-connector-java-8.0.23.jar,不要把jar嵌套在子目录、也不要将module.xml放置到上层路径,避免类加载器找不到资源。
  • 关于手动配置standalone.xml的优化:WildFly 22支持自动识别符合SPI规范的JDBC驱动,只要模块结构、module.xml配置正确,服务器启动时会自动扫描jar包内的JDBC SPI标识,自动读取驱动版本、JDBC合规版本信息完成注册,不需要手动在<drivers>节点硬编码驱动定义。手动硬编码的配置如果和模块加载的类路径不匹配,反而会触发驱动加载冲突。

修正全部配置后,先完全终止WildFly进程,清空standalone/tmp、standalone/data目录下的临时缓存文件,再重启服务,即可在驱动管理页面看到完整的MySQL驱动版本信息、JDBC合规标识,数据源配置页的驱动下拉列表也会正常出现MySQL选项。

内容的提问来源于stack exchange,提问作者Jimblim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.01 04:54:04