You need to enable JavaScript to run this app. Java13迁移后Hibernate报错无法创建JdbcEnvironment服务如何解决
优惠活动
大模型
产品
解决方案
定价
更多

Java13迁移后Hibernate报错无法创建JdbcEnvironment服务如何解决

问题原因
  • 缺失JAXB核心依赖:Java 9及以上版本移除了JDK内置的JAXB模块,而你使用的Hibernate 5.4.5.Final版本强依赖JAXB完成配置、映射文件的解析工作,Java 13环境下缺少该依赖会直接导致Hibernate核心服务初始化失败,对应报错信息中的Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]。
  • 内部依赖字节码兼容性问题:公司内部定制的hibernate-connector是基于Java 8编译的,高版本JDK对反射、字节码访问的限制更严格,若未做跨版本兼容适配,会触发Hibernate初始化异常。
  • 若自定义Hibernate初始化逻辑未兼容高版本JDK的类加载机制,也可能出现JDBC驱动加载失败的问题。
修复方案
  1. 优先补全JAXB相关依赖,在pom.xml中添加如下依赖项:
<!-- JAXB API -->
<dependency>
    <groupId>javax.xml.bind</groupId>
    <artifactId>jaxb-api</artifactId>
    <version>2.3.1</version>
</dependency>
<!-- JAXB 运行时实现 -->
<dependency>
    <groupId>com.sun.xml.bind</groupId>
    <artifactId>jaxb-impl</artifactId>
    <version>2.3.3</version>
    <scope>runtime</scope>
</dependency>
<dependency>
    <groupId>com.sun.xml.bind</groupId>
    <artifactId>jaxb-core</artifactId>
    <version>2.3.0.1</version>
</dependency>
<!-- JAXB 依赖的激活模块 -->
<dependency>
    <groupId>javax.activation</groupId>
    <artifactId>activation</artifactId>
    <version>1.1.1</version>
</dependency>
  1. 调整Maven编译配置,明确指定适配Java 13,在pom.xml的<build><plugins>节点下添加编译器配置:
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.8.1</version>
    <configuration>
        <source>13</source>
        <target>13</target>
        <release>13</release>
    </configuration>
</plugin>

同步要求内部hibernate-connector的维护方确认该依赖已适配Java 13,或重新基于Java 13编译发布新版本。
3. 若完成上述操作后仍报错,可升级相关依赖到兼容Java 13的稳定版本:

  • 升级mariadb-java-client到2.7.10(2.x分支最高稳定版,完全兼容Java 11+和MariaDB 10.3.x)
  • 升级hibernate-c3p0到5.4.33.Final(5.4分支最终稳定版,修复了高版本JDK下连接池初始化的兼容性问题)
  1. 可临时开启Hibernate debug日志排查细节,在application.properties中添加配置:
logging.level.org.hibernate=DEBUG

即可查看Hibernate初始化全流程日志,定位是否存在配置读取失败、驱动加载异常等其他问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 06:48:02