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

Spring Boot应用新电脑启动正常但调用API报antlr.RecognitionException异常求助

解决Spring Boot调用API时抛出java.lang.ClassNotFoundException: antlr.RecognitionException的问题

这个异常的核心原因是antlr 2.x依赖缺失——Hibernate 5.x版本依赖antlr来解析HQL语句,你的新电脑环境中没有正确引入该依赖,导致API调用触发HQL解析流程时找不到对应的类。

解决方案:

  • 添加antlr依赖
    根据你的构建工具,在项目配置中明确引入与Hibernate 5.4.29.Final兼容的antlr 2.7.7版本:
    Maven(pom.xml):

    <dependency>
        <groupId>antlr</groupId>
        <artifactId>antlr</artifactId>
        <version>2.7.7</version>
    </dependency>
    

    Gradle(build.gradle):

    implementation 'antlr:antlr:2.7.7'
    
  • 清理并重新构建项目
    执行清理构建命令,确保新电脑本地仓库拉取完整依赖:
    Maven:mvn clean install
    Gradle:gradle clean build

  • 检查依赖排除配置
    排查项目中是否有其他依赖通过<exclusions>(Maven)或exclude语法(Gradle)排除了antlr,如果有,移除对应的排除规则。

  • 验证依赖树
    通过命令确认antlr依赖已被正确引入:
    Maven:mvn dependency:tree | grep antlr
    Gradle:gradle dependencies | grep antlr

为什么其他电脑正常?

其他电脑的本地Maven/Gradle仓库已经缓存了antlr依赖,或者项目构建缓存中包含了该依赖,而新电脑是首次构建,依赖拉取不完整或配置缺失导致问题出现。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 01:55:23