java.lang.NoSuchMethodError:org.springframework.beans.support.ResourceEditorRegistrar<;初始化>;(Lorg/springframework/core/io/ResourceLoader;)

java.lang.NoSuchMethodError:org.springframework.beans.support.ResourceEditorRegistrar<;初始化>;(Lorg/springframework/core/io/ResourceLoader;),java,spring,Java,Spring,编辑:问题的主要答案是关于不同的编译和生产环境。第二个答案是关于在Eclipse中修复它。我在IntelliJ中运行这段代码,没有不同的编译和生产环境。我只是在按IntelliJ中的Run按钮。同样,这个问题也不是那里所问问题的翻版 我正在尝试构建一个简单的Spring程序。这是文件夹结构: . ├── firstSpringProject.iml ├── pom.xml ├── src │   └── main │   ├── java │   │   └── com │  

编辑:问题的主要答案是关于不同的编译和生产环境。第二个答案是关于在Eclipse中修复它。我在IntelliJ中运行这段代码,没有不同的编译和生产环境。我只是在按IntelliJ中的Run按钮。同样,这个问题也不是那里所问问题的翻版

我正在尝试构建一个简单的Spring程序。这是文件夹结构:

.
├── firstSpringProject.iml
├── pom.xml
├── src
│   └── main
│       ├── java
│       │   └── com
│       │       └── webograffiti
│       │           ├── MainClass.java
│       │           └── Student.java
│       └── resources
│           └── applicationContext.xml
以下是这些文件中编写的代码:

Student.java

package com.webograffiti;

public class Student {

    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void displayInfo(){
        System.out.println("Hello "+name);
    }
}
package com.webograffiti;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class MainClass {
    public static void main(String [] args){
        ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
        Student obj = (Student) context.getBean("student");
        obj.displayInfo();
    }
}
MainClass.java

package com.webograffiti;

public class Student {

    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void displayInfo(){
        System.out.println("Hello "+name);
    }
}
package com.webograffiti;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class MainClass {
    public static void main(String [] args){
        ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
        Student obj = (Student) context.getBean("student");
        obj.displayInfo();
    }
}
applicationContext.xml

<?xml version = "1.0" encoding = "UTF-8"?>

    <beans xmlns = "http://www.springframework.org/schema/beans"
       xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation = "http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

    <bean id = "student" class = "com.webograffiti.Student">
        <property name = "name" value = "Piyush"/>
    </bean>

</beans>

我拥有运行此代码所需的所有依赖项,即<代码>spring核心、spring bean、spring osgi核心。这可能是类路径错误,但我无法找到解决方案

java.lang.NoSuchMethodError表示jar文件的不兼容版本。这99%的时间是由于构建和部署环境之间的库版本不同(在这里会被反复询问)。请仔细检查两个地方是否有完全相同的库。@JimGarrison我没有单独的环境,我正在IntelliJ中运行它。你能帮我修一下吗?我无法从您认为这是重复的问题中获得解决方案。您是否部署到IntelliJ中的嵌入式服务器?如果是,请检查服务器的配置和类路径。如果没有,您可能应该对整个项目进行完全干净的重建,以刷新所有的.class文件。@JimGarrison,MainClass文件有一个main()。生成的Jar文件正在本地系统上运行。它没有在服务器上运行。另外,我进行了
mvn清洁安装
,问题仍然存在。