2015-12-31 4 views
2

Ниже приведен мой код Spring. Когда я попытался скомпилировать программу, все классы были успешно скомпилированы и во время запуска вышла программа NoClassDefFoundError.NoClassDefFoundError при запуске приложения весны в командной строке

MainMethodCLass:

package test; 

import beans.SpringTest; 
import org.springframework.core.io.ClassPathResource; 
import org.springframework.core.io.Resource; 
import org.springframework.beans.factory.BeanFactory; 
import org.springframework.beans.factory.xml.XmlBeanFactory; 
public class Client 
{ 
    public static void main(String [] raja) 
    { 
    //find xml 
    Resource r = new ClassPathResource("resources/spring.xml"); 
    //load xml into container 
    BeanFactory fact = new XmlBeanFactory(r); 

    //create test class object 
    Object o = fact.getBean("t"); 
    SpringTest t = (SpringTest)o; 
    t.hello(); 
    } 
} 

Простой класс POJO:

package beans; 
public class SpringTest 
{ 
    public void hello() 
    { 
     System.out.println("Hello World"); 
    } 
} 

spring.xml файла в пакете ресурсов:

<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" 
    "http://www.springframework.org/dtd/spring-beans-2.0.dtd"> 

<beans> 
<bean id = "t" class = "beans.Test"> 
</bean> 

</beans> 

Когда я обобщил эту программу она была успешно компилируется, но когда я компиляция была поднят следующая ошибка:

D:\Corejava>java test.Client 
Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/core/io/Resource 
     at java.lang.Class.getDeclaredMethods0(Native Method) 
     at java.lang.Class.privateGetDeclaredMethods(Unknown Source) 
     at java.lang.Class.getMethod0(Unknown Source) 
     at java.lang.Class.getMethod(Unknown Source) 
     at sun.launcher.LauncherHelper.getMainMethod(Unknown Source) 
     at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source) 
Caused by: java.lang.ClassNotFoundException: org.springframework.core.io.Resource 
     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) 
     ... 6 more 
+0

Вы используете maven? – Abdelhak

+0

Нет Я не использовал Maven @Abdelhak –

+0

Каково содержимое вашей папки lib после создания проекта? –

ответ

0

Добавьте пружинные библиотеки в свой пути к классам

командная строка должна быть

>java -classpath <all the libraries jars here> test.Client 
0

У вас есть более одного org.springframework.core на вашем пути с различными версиями. удалите его, используйте maven для загрузки зависимостей.

0

Вы должны добавить файл jar spring-core-*.jar в свой путь к классу и папку lib.
В ваших ресницах это import org.springframework.core.* все в основном файле jar.

+0

Я уже добавил spring-core - *. Jar в моем классе –

0

java.lang.NoClassDefFoundError - Эта ошибка не означает, что JVM не может найти ваш файл класса в пути к классу. Либо он находит класс, но упомянутый класс должен ссылаться на некоторые зависимые классы, которые не загружены, или существует более одного определения. Используйте Maven для загрузки Spring lib.

Смежные вопросы