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

IntelliJ运行Spring程序遇java.lang.NoSuchMethodError错误求助

解决Spring项目中的java.lang.NoSuchMethodError问题

从你提供的代码和异常栈信息来看,这个错误几乎可以肯定是Spring依赖版本不兼容导致的——具体来说是ResourceEditorRegistrar的构造方法找不到,这通常是因为项目里混合了不同版本的Spring核心依赖包。

问题根源分析

你提到引入了spring-core、spring-beans、spring-osgi-core,但这里有两个关键问题:

  • spring-osgi-core是专为OSGi环境设计的依赖,你的简单控制台Spring项目完全不需要它,它反而可能引入低版本的Spring核心依赖,和你手动引入的版本冲突。
  • 即使保留必要依赖,若没有统一版本,不同Spring组件的版本不一致也会导致类加载时出现方法缺失的情况。

具体解决方案

  • 移除不必要的依赖:删掉pom.xml中的spring-osgi-core依赖,你的项目只需要spring-core、spring-beans、spring-context这三个核心依赖就足够运行。
  • 统一Spring依赖版本:在pom.xml中用属性统一管理版本,避免版本混乱,示例配置如下:
    <properties>
        <spring.version>5.3.30</spring.version> <!-- 选一个稳定的5.x版本,适配你的代码 -->
    </properties>
    
    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${spring.version}</version>
        </dependency>
    </dependencies>
    
  • 清理并重建项目:
    1. 在IntelliJ中点击右侧Maven面板的Reload All Maven Projects,重新加载依赖。
    2. 执行mvn clean install命令,清理旧编译文件并重新构建。
    3. 也可以通过IntelliJ的Build -> Clean Project + Build -> Rebuild Project完成清理重建。
  • 检查重复依赖:打开File -> Project Structure -> Libraries,如果发现多个版本的Spring Jar包,删除不匹配的旧版本。

代码正确性验证

你的业务代码本身没有问题:

  • Student类的setter/getter方法符合Spring注入要求,displayInfo逻辑正常。
  • applicationContext.xml的Bean配置和属性注入完全正确。
  • MainClass加载上下文、获取Bean的代码没有错误。

解决依赖冲突后,运行MainClass.main()应该会正常输出Hello Piyush。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 06:40:05