我正在使用spring-framework-3.2.0.RELEASE
制作一个简单的应用程序。但我得到NoClassDefFoundError
这是我的代码
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import java.io.FileOutputStream;
import java.io.PrintWriter;
import java.io.FileNotFoundException;
public class SpringDemo{
public static void main(String args[]) throws FileNotFoundException{
ApplicationContext context = new ClassPathXmlApplicationContext("message.xml");
}
}
class MessageClass{
private String message = null;
MessageClass(String message){
this.message = message;
}
public String getMessage(){
return message;
}
public void setMessage(String message){
this.message = message;
}
}
以下是我的message.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.xsd">
<bean id="message"
class="MessageClass">
<property name="message" value="Spring is fun." />
</bean>
我收到以下错误
Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/c
ontext/support/ClassPathXmlApplicationContext
at SpringDemo.main(SpringDemo.java:10)
Caused by: java.lang.ClassNotFoundException: org.springframework.context.support
.ClassPathXmlApplicationContext
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 1 more
我在jdk_version/jre/lib/ext
目录
1)antlr 2)commons-logging-1.1.1 3)春豆 4)春天语境 5)弹簧芯 6)spring-jdbc 7)spring-orm 8)spring-tx
有什么问题?我没有从其他相关问题得到任何帮助。请帮帮我。
提前致谢。
答案 0 :(得分:2)
我在
中包含了以下jarjdk_version/jre/lib/ext
目录
这可能是一个错误,因为只有需要作为扩展名的JAR应该进入这个目录(例如,你不是100%确定特定的JAR需要是一个扩展,那么它可能不会)。尝试从lib/ext
中删除JAR,然后以正常方式将它们放在应用程序的类路径中。