0

私は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ディレクトリに次のjarを含めました

1) antlr 2) commons-logging-1.1.1 3) spring-beans 4) spring-context 5) spring-core 6) spring-jdbc 7) spring-orm 8) spring-tx

なにが問題ですか?他の関連する質問からは何の助けも得られませんでした。私を助けてください。

前もって感謝します。

4

1 に答える 1

2

私は自分のjdk_version/jre/lib/extディレクトリに次のjarファイルを含めました

拡張機能である必要があるJARのみがこのディレクトリに配置される必要があるため、これはおそらく間違いです(特定のJARが拡張機能である必要があるかどうかが100%確信できない場合は、おそらくそうではありません)。代わりに、通常の方法でJARをから削除lib/extし、アプリケーションのクラスパスに配置してみてください。

于 2013-01-11T13:07:14.600 に答える