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

Maven构建报cannot access org.hibernate.Session编译错误如何解决

问题根因

Java class文件版本号与编译所用JDK版本强绑定,报错中出现的版本号对应关系如下:

  • 52.0:JDK 8 编译生成的字节码版本
  • 55.0:JDK 11 编译生成的字节码版本

该报错与类路径子目录配置无关,本质是项目当前编译所用JDK版本为1.8,但引入的hibernate-core-6.1.1.Final依赖由JDK11编译生成,低版本JDK无法加载高版本JDK编译出的class文件。Hibernate 6.x系列最低运行环境要求为JDK11,自该大版本起不再兼容JDK8,属于典型的依赖与环境版本不匹配问题。

解决步骤

根据目标使用的JDK版本,二选一调整配置即可:

方案1:保留JDK8编译环境

  • 修改pom.xml内hibernate-core依赖版本,替换为兼容JDK8的最后一个稳定大版本5.6.x系列,示例依赖配置:
<dependency>
    <groupId>org.hibernate.orm</groupId>
    <artifactId>hibernate-core</artifactId>
    <version>5.6.15.Final</version>
</dependency>
  • 删除本地Maven仓库下C:\Users\Sreenivasulu.P\.m2\repository\org\hibernate\orm\hibernate-core\6.1.1.Final整个目录,清除错误版本的缓存包
  • 在项目根目录执行命令mvn clean install -U,强制拉取正确版本的依赖
  • Eclipse环境下右键项目,选择Maven -> Update Project,勾选Force Update of Snapshots/Releases刷新IDE类路径缓存即可

方案2:保留hibernate-core 6.1.1.Final版本

  • 将本地安装的JDK升级至11及以上版本
  • 统一两处编译配置版本:
    • Eclipse中项目的Java构建路径、编译器合规级别全部设置为JDK11及以上
    • pom.xml内maven-compiler-plugin插件的source、target配置值改为11及以上,示例配置:
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.11.0</version>
    <configuration>
        <source>11</source>
        <target>11</target>
    </configuration>
</plugin>
  • 执行mvn clean compile验证编译是否正常,存在缓存时同样执行Maven Update刷新项目配置
额外排查项
  • 执行mvn dependency:tree查看全量依赖树,检查是否存在其他第三方依赖间接传递引入6.x版本hibernate-core的情况,若存在则用<exclusion>标签排除错误的传递依赖
  • 确认Eclipse全局配置的Installed JREs中,选中的默认JRE为目标版本JDK,避免IDE误用其他版本的编译环境

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 12:12:19