Ne peut pas ouvrir beans.xml (fichier de configuration), car il n'existe pas

Exception in thread "main"
org.springframework.les haricots.usine.BeanDefinitionStoreException:
IOException l'analyse du document XML à partir de la classe de chemin de ressources
[com/main/beans.xml]; nested exception est
java.io.FileNotFoundException: le chemin de classe de ressource
[com/main/beans.xml] ne peut pas être ouvert car il n'existe pas

ApplicationContext context = 
      new ClassPathXmlApplicationContext("com/main/beans.xml");

J'ai essayé avant avec

ApplicationContext context = 
     new FileSystemXmlApplicationContext("src/main/java/com/main/beans.xml");

Et il fonctionne bien.

Comment faire par rapport à la variable classpath?

Remarque: classpath est dans le build path


Dans l'exemple que je suis, il a la structure suivante et il fonctionne

Structure de projet

Ne peut pas ouvrir beans.xml (fichier de configuration), car il n'existe pas

Classpath

Ne peut pas ouvrir beans.xml (fichier de configuration), car il n'existe pas

ApplicationContext context = 
    new ClassPathXmlApplicationContext("com/caveofprogramming/spring/test/beans/beans.xml");
xml les fichiers doivent être dans src/main/resources pas en java. Lors de la compilation avec maven les fichiers xml sont ignorées si elles ne sont pas dans les ressources (Sauf si vous faites un peu de travail supplémentaire à rajouter).
voir mon mise à JOUR ci-dessous
merci -- utile! Mais pourquoi il a travaillé dans l'exemple? Semble que l'auteur n'a pas à faire un travail supplémentaire
Il peut travailler au sein d'eclipse (comme qui aspire à l'informatique le chemin de la classe, surtout avec des projets Maven), lors de la construction de la jarre/de la guerre, il ne sera pas à cet endroit.
Vous garder beans.xml dans le classpath ou src/main/...pkg où java fichier sont enregistrées. Et puis utiliser ClassPathXmlApplicationCOntext

OriginalL'auteur Joe | 2014-01-31