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

SpringBoot应用启动失败,遇OptimisticLockException类找不到异常

解决Spring Boot启动时org.hibernate.OptimisticLockException类找不到的问题

从你提供的错误栈和pom.xml配置来看,启动失败的核心原因是运行时无法找到org.hibernate.OptimisticLockException类——这个类属于Hibernate核心依赖包,出现这个问题通常是因为Hibernate核心组件没有被正确引入项目,或是存在依赖冲突。

具体排查和解决步骤

1. 检查Hibernate核心依赖是否正常引入

Spring Boot的spring-boot-starter-data-jpa本应自动帮你引入hibernate-core依赖,但偶尔会因为依赖解析问题导致它缺失。你可以通过Maven命令查看项目的依赖树:

mvn dependency:tree

在输出结果中搜索org.hibernate:hibernate-core,如果找不到这个条目,说明依赖未被正确引入,需要手动添加:

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-core</artifactId>
    <!-- Spring Boot 1.5.9.RELEASE默认适配Hibernate 5.0.12.Final,无需手动指定版本 -->
</dependency>

2. 清理并重新下载Maven依赖

有时候本地Maven仓库的依赖文件损坏、不完整,也会导致类找不到的问题。执行以下命令强制清理并更新所有依赖:

mvn clean install -U

-U参数会强制Maven更新远程仓库的元数据和快照依赖,确保所有依赖都完整下载到本地。

3. 排查并解决依赖冲突

如果依赖树中出现了多个版本的hibernate-core,说明存在依赖冲突(比如其他第三方依赖引入了旧版本的Hibernate)。此时需要找到冲突的依赖,并排除它自带的Hibernate核心包。

举个例子,如果some-third-party-dependency引入了冲突的Hibernate版本,你可以这样排除:

<dependency>
    <groupId>com.example</groupId>
    <artifactId>some-third-party-dependency</artifactId>
    <exclusions>
        <exclusion>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
        </exclusion>
    </exclusions>
</dependency>

4. 确认版本兼容性

你使用的Spring Boot版本是1.5.9.RELEASE,它默认适配的Hibernate版本是5.0.12.Final。如果手动指定了其他版本的Hibernate,可能会出现兼容性问题导致类找不到。建议尽量使用Spring Boot starter管理的依赖版本,避免手动指定版本号。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 10:18:03