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

Spring应用启动报NoSuchMethodError: LogDelegateFactory.getHiddenLog问题求助

问题根因

你遇到的java.lang.NoSuchMethodError异常是Spring依赖版本不兼容导致的:
你的pom.xml中存在两种不同版本的Spring核心依赖:

  • spring-core、spring-beans、spring-context、spring-orm 版本为5.2.2.RELEASE
  • spring-web、spring-webmvc 版本为5.3.9

LogDelegateFactory.getHiddenLog方法是Spring 5.3.x版本才新增的API,高版本的spring-webmvc调用这个方法时,低版本的spring-core中不存在该方法,就会抛出方法不存在的错误。

解决方法

统一所有Spring依赖的版本即可,推荐两种方案二选一:

方案1:降级web相关依赖

将spring-web、spring-webmvc的版本改为和其他Spring模块一致的5.2.2.RELEASE,修改后对应依赖如下:

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-web</artifactId>
    <version>5.2.2.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>5.2.2.RELEASE</version>
</dependency>

方案2:升级所有Spring依赖到高版本

把所有Spring核心模块都升级到5.3.9,稳定性和功能更完善,推荐使用该方案。

优化建议

可以在pom.xml的properties节点中统一配置Spring版本,避免后续修改版本时出现遗漏:

<properties>
    <maven.compiler.source>9</maven.compiler.source>
    <maven.compiler.target>9</maven.compiler.target>
    <!-- 统一管理Spring版本 -->
    <spring.version>5.3.9</spring.version>
</properties>

所有Spring依赖的version都替换为${spring.version}即可:

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>${spring.version}</version>
</dependency>
<!-- 其他Spring依赖同理配置即可 -->

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 06:54:03