2010-04-19 3 views
8

J'essaie de créer une application web en utilisant maven, tomcat et hibernate. Maintenant, je ne peux pas trouver de classe pour org.appache.commons.dbcp.basicdatasource pour bean avec le nom datasource ... exception.oracle hibernate + maven dependenciesm dbcp.basicdatasource exception

Sans les aspects de mise en veille prolongée, il fonctionne très bien, mais si j'ajoute

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> 
    <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/> 
    <property name="url" value="jdbc:oracle:thin:@localhost:1521:xe"/> 
    <property name="username" value="temp"/> 
    <property name="password" value="temp"/> 
</bean> 

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> 
    <property name="dataSource" ref="dataSource"/> 
    <property name="hibernateProperties"> 
     <props> 
      <prop key="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</prop> 
      <prop key="hibernate.hbm2ddl.auto">create</prop> 
      <prop key="hibernate.show_sql">true</prop> 
     </props> 
    </property> 
    <property name="mappingResources"> 
     <list> 
     </list> 
    </property> 
</bean> 

à mon applicationContext je reçois l'erreur.

Ce que je ne faisais que:

  • ajouter org.hibernate à mon pom
  • mis ojdbc16.jar dans mon tomcat dossier bin
  • ajouter l'extrait ci-dessus à mon applicationContext.xml

J'utilise un fichier bat pour compiler mon projet (en utilisant maven), le copier dans mon dossier webapp tomcat et démarrer le serveur.

Toute contribution sur ce que je fais mal est la bienvenue.

Répondre

17

Vous êtes absent très probablement la dépendance des communes DBCP:

<dependency> 
    <groupId>commons-dbcp</groupId> 
    <artifactId>commons-dbcp</artifactId> 
    <version>1.4</version> 
</dependency> 
+0

Merci pour la réponse. J'ai ajouté cela à mon pom mais j'ai: Artefact manquant commons-dbcp: commons-dbcp: jar: 1.4: compiler Je ne suis pas encore familier avec maven. J'ai essayé de mettre la commande commons-dbcp à portée: compile mais cela n'a pas aidé. – Mike

+1

@Joe C'est étrange. J'ai vérifié et cet artefact est définitivement dans le dépôt central. Courez-vous maven "en ligne"? Qui se plaint de l'artefact manquant exactement? –

+0

Mon compiler.I a ajouté: \t \t \t repo1 \t \t \t repo1 \t \t \t http://repo1.maven.org/maven2/ \t \t Et il doesn ne vous plaignez plus, donc je suppose que le dépôt manquait de ce pot. – Mike