我正在尝试开发一个Spring“HelloWorld”项目,而我正在运行该应用程序,它给了我这个错误:
信息:从类路径资源[Beans.xml]加载XML bean定义线程“main”中的异常java.lang.NoClassDefFoundError:org.springframework.expression.ExpressionParser
以下是我的代码:
package com.tutorialspoint;
public class HelloWorld {
private String message;
public void getMessage() {
System.out.println("your message : "+message);
}
public void setMessage(String message) {
this.message = message;
}
}
和
package com.tutorialspoint;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class MainApp {
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("Beans.xml");
HelloWorld obj = (HelloWorld) context.getBean("helloWorld ");
obj.getMessage();
// TODO Auto-generated method stub
}
}
的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="helloWorld" class="com.tutorialspoint/HelloWorld">
<property name="message" value="Hello World!"/>
</bean>
</beans>
答案 0 :(得分:1)
包括
spring-expression-3.1.1.Release.jar
在lib
文件夹
我提到3.1.1作为示例,您可以使用最新版本(如果存在)。
答案 1 :(得分:1)
除了添加所有依赖的jar之外,class
定义中定义的bean
似乎无效
com.tutorialspoint/HelloWorld
^
制作它,
<bean id="helloWorld" class="com.tutorialspoint.HelloWorld">
<property name="message" value="Hello World!"/>
</bean>
context.getBean("helloWorld ")
也应更改为context.getBean("helloWorld")
答案 2 :(得分:0)
将spring依赖项添加到class-path
答案 3 :(得分:0)
如果您没有使用Maven,正如M Sach所说,将“spring expression-X.Release.jar”添加到“lib”文件夹中,也不要忘记将其添加到Eclipse中的构建路径< / p>
答案 4 :(得分:0)
这个与spring-expression.jar相关的异常添加了这个。