Je suis un débutant pour Spring et je faisais référence à ce tutoriel pour mon premier projet Spring. Après avoir suivi toutes les instructions, j’essaie d’exécuter le programme, mais j’ai cette erreur.
May 26, 2015 11:42:45 AM org.springframework.context.support.ClassPathXmlApplicationContext prepareRefresh
INFO: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@31221be2: startup date [Tue May 26 11:42:45 CST 2015]; root of context hierarchy
May 26, 2015 11:42:45 AM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
INFO: Loading XML bean definitions from class path resource [Beans.xml]
Exception in thread "main" Java.lang.NoClassDefFoundError: org/springframework/expression/ParserContext
at org.springframework.context.support.AbstractApplicationContext.prepareBeanFactory(AbstractApplicationContext.Java:553)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.Java:455)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.Java:139)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.Java:83)
at com.tutorialspoint.MainApp.main(MainApp.Java:9)
Caused by: Java.lang.ClassNotFoundException: org.springframework.expression.ParserContext
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)
... 5 more
Toute idée où je me suis trompé. Comme je sais que je suivais correctement le tutoriel.
CODE
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();
}
}
Beans.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>
Vérifiez si vous avez ajouté tous les fichiers JAR requis dans votre chemin de classe.
La classe org.springframework.expression.ParserContext
se situe à l'intérieur de spring-expresssion-YOUR_SPRING_VERSION.jar
. Vérifiez si vous avez ajouté ce fichier jar à classpath.
J'avais le même problème. Mais j'ai trouvé mon erreur.
Mon erreur a été, j'ai créé "Beans.xml" à l'intérieur du paquet com.tutorialspont
.
La solution pour moi était "Beans.xml" doit être créé directement dans le dossier src
.