Je application simple avec la structure suivante du dossier:Mise en veille prolongée + Spring - mapping xml not found
- ProjFolder
- | ----- src
- | --------- -packagename
- | --------------- {} SourceFiles
- | ---------- META-INF
- | ----- ---------- {beans.xml}
- | - -------------- {hibernate.cfg.xml}
- | --------------- {EntityMapping.hbm.xml}
est ici la partie de beans.xml fichier de configuration Spring:
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value="classpath:./META-INF/jdbc.properties" />
</bean>
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</bean>
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="configLocation" value="classpath:./META-INF/hibernate.cfg.xml" />
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">${hibernate.dialect}</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>classpath:./META-INF/EntityMapping.hbm.xml</value>
</list>
</property>
</bean>
<tx:annotation-driven transaction-manager="txManager" />
<bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
quand je commence mes tests unitaires i faire exception suivante:
org.springframework.beans.factory.BeanCreationException: erreur Création d'un bean avec le nom 'wrapperClass' défini dans le chemin de classe resourc e [META-INF/beans.xml]: Impossible de résoudre la référence au bean 'wrapperClassField' lors de la définition de l'argument constructeur; exception imbriquée est org.springframework.beans.factory.BeanCreationException: Erreur création d'haricot avec le nom « xmlBooksource » défini dans la ressource de chemin de classe [META-INF/beans.xml]: ne peut pas résoudre la référence aux haricots « sessionFactory » tout en fixant la propriété bean 'sessionFactory'; l'exception imbriquée est org.springframework.beans.factory.BeanCreationException: Erreur lors de la création du bean avec le nom 'sessionFactory' défini dans le chemin de classe resource [META-INF/beans.xml]: L'appel de la méthode init a échoué; exception imbriquée est java.io.FileNotFoundException: chemin de classe ressource [classpath: /META-INF/EntityMapping.hbm.xml] ne peut pas être ouvert car il n'existe pas
La même exception est levée lorsque type i Pourquoi le printemps ne peut pas trouver ce fichier et comment dois-je remplir son emplacement pour faire fonctionner ce code?
Merci d'avance.
Comme je l'ai écrit au début de la question - oui. META-INF est un sous-dossier de src, donc je peux supposer que l'inclure dans sourcepath ne va pas résoudre le problème – Grook
Droit. Avez-vous essayé de supprimer le préfixe 'classpath:'? En regardant le code, ce setter attend déjà une ressource classpath. La chaîne est ensuite passée à 'ClassLoader.getResourceAsStream (String)'. – Gray
@Gray merci! Cela résout le problème. – Grook