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

Spring Boot项目启动报错:无法访问JavaXMember.getJavaType()方法

问题解决:Spring Boot启动时Hibernate IllegalAccessError异常

异常原因

这个错误是因为com.vladmihalcea.hibernate.type.json.internal.JsonTypeDescriptor类尝试调用org.hibernate.annotations.common.reflection.java.JavaXMember.getJavaType()方法,但该方法的访问权限不允许外部类调用。本质是hibernate-types依赖版本与hibernate-commons-annotations版本不兼容:你使用的hibernate-types-52:2.19.2版本,对hibernate-commons-annotations的方法要求和当前使用的5.0.1.Final版本不匹配,导致方法访问权限冲突。

解决方案

1. 调整hibernate-types版本到兼容版本

Hibernate 5.2.12.Final对应的hibernate-types-52应该用更低的版本(比如2.10.0),这个版本和hibernate-commons-annotations 5.0.1.Final兼容性更好。修改pom.xml中的依赖:

<dependency>
    <groupId>com.vladmihalcea</groupId>
    <artifactId>hibernate-types-52</artifactId>
    <version>2.10.0</version>
</dependency>

2. 清理Maven缓存并重新构建

可能本地Maven仓库的依赖文件损坏,执行以下命令强制更新依赖并清理缓存:

mvn clean install -U

3. 检查并排除冲突的间接依赖

如果有其他依赖间接引入了更高版本的hibernate-commons-annotations,需要排除掉。先用mvn dependency:tree查看依赖树,找到冲突的依赖后,添加排除规则:

<dependency>
    <!-- 替换为实际冲突的依赖坐标 -->
    <groupId>xxx</groupId>
    <artifactId>xxx</artifactId>
    <exclusions>
        <exclusion>
            <groupId>org.hibernate.common</groupId>
            <artifactId>hibernate-commons-annotations</artifactId>
        </exclusion>
    </exclusions>
</dependency>

验证修改

修改完成后,执行mvn dependency:list确认依赖版本正确,然后重新启动项目即可。

内容的提问来源于stack exchange,提问作者not a Programmer

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 17:25:28