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