Hibernate + Ressort - mappage xml pas trouvé

J'ai simple application avec la structure de dossiers suivante:

  • ProjFolder
  • |-----src
  • |----------packagename
  • |---------------{sourcefiles}
  • |----------META-INF
  • |---------------{beans.xml}
  • |---------------{hibernate.cfg.xml}
  • |---------------{EntityMapping.hbm.xml}

voici la partie de beans.xml Printemps de fichier de config:

<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-je obtenir de l'exception suivante:

org.springframework.les haricots.usine.BeanCreationException: Erreur
la création de haricot avec le nom "wrapperClass" défini dans le chemin de classe de ressource
[META-INF/beans.xml]: Impossible de résoudre référence au bean "wrapperClassField'
pendant le réglage d'un argument du constructeur; nested exception est
org.springframework.les haricots.usine.BeanCreationException: Erreur
la création de haricot avec le nom "xmlBooksource" défini dans le chemin de classe de ressource
[META-INF/beans.xml]: Impossible de résoudre référence aux haricots
'sessionFactory" alors que le réglage de haricot propriété "sessionFactory'; imbriqué
exception est org.springframework.les haricots.usine.BeanCreationException:
Erreur lors de la création de haricots avec le nom "sessionFactory" défini dans le chemin de classe
ressource [META-INF/beans.xml]: Invocation de la méthode d'initialisation a échoué;
nested exception java.io.FileNotFoundException: le chemin de classe de 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 je tape

<property name="mappingResources">
<list>
      <value>EntityMapping.hbm.xml</value>
</list>
 </property>

Pourquoi le printemps n'arrive pas à trouver ce fichier et comment je dois remplir son emplacement pour rendre ce code fonctionne?

Merci d'avance.

  • Comme je l'ai écrit au début de la question - oui. META-INF est un sous-dossier de la src, donc je peux supposer que l'inclure dans sourcepath l'habitude de résoudre le problème
  • La droite. Avez-vous essayé de supprimer les classpath: préfixe? En regardant le code, qui setter s'attend à un classpath de ressources déjà. La chaîne est ensuite envoyée ClassLoader.getResourceAsStream(String).
  • merci! Il résout le problème.
InformationsquelleAutor Grook | 2011-11-06