2013-05-10 4 views
12

Ich habe versucht, einige grundlegende Datenbankoperationen durchzuführen. Ich bin mit STS 3.2.0, Apache Tomcat 7.emClassNotFoundException: org.springframework.jdbc.datasource.DriverManagerDataSource

Mein Dispatcher-servlet.xml beinhaltet:

<bean id="dataSource" 
     class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 
     <property name="driverClassName" value="com.mysql.jdbc.Driver" /> 
     <property name="url" value="jdbc:mysql://localhost:3306/mydb" /> 
     <property name="username" value="root" /> 
     <property name="password" value="root" /> 
    </bean> 

Apache Tomcat scheitert kläglich mit Tausenden von Ausnahmen abgesehen, mit diesem Ausgang:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping#0': Initialization of bean failed; nested exception is org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [org.springframework.jdbc.datasource.DriverManagerDataSource] for bean with name 'dataSource' defined in ServletContext resource [/WEB-INF/dispatcher-servlet.xml]; nested exception is java.lang.ClassNotFoundException: org.springframework.jdbc.datasource.DriverManagerDataSource 
Related cause: org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [org.springframework.jdbc.datasource.DriverManagerDataSource] for bean with name 'dataSource' defined in ServletContext resource [/WEB-INF/dispatcher-servlet.xml]; nested exception is java.lang.ClassNotFoundException: org.springframework.jdbc.datasource.DriverManagerDataSource 

And these are my library definitions

EDIT 1: ich auch heruntergeladen 3.0.3.RELEASE Version des Glases und seine noch th e gleich.

FINAL EDIT Es scheint, können Sie Ihre externe JAR-Dateien manuell auf das Bereitstellungsverzeichnis als auch hinzufügen sollte (auch wenn Sie keine Erweiterung verwenden, die das für Sie tun würde)

+0

Ist diese Klasse tatsächlich in der JAR-Datei (öffnen Sie sie mit Winzip oder erweitern es in Eclipse). Wenn nicht, dann haben Sie das falsche Glas. Wenn es dort ist, dann holen Sie es nicht ab, wenn Sie Ihre App starten. – DaveRlz

+0

@DaveRlz Ich denke, es ist im Glas. Ich kann seine Inhalte in meine regulären Java-Dateien importieren und direkt verwenden, es scheint einfach nicht zu existieren, während meine Webanwendung gestartet wird. – JuniorDev

Antwort

34

Versuchen Sie pom.xml hinzuzufügen:

<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-jdbc</artifactId> 
    <version>3.0.3.RELEASE</version> 
</dependency> 
+0

Ich habe meine pom.xml-Datei neu generiert und die jdbc-Abhängigkeit hinzugefügt, aber das Ergebnis ist das gleiche. – JuniorDev

+1

enthält Ihre WAR-Datei dieses JAR im WEB-INF/lib-Ordner? – Patison

+1

nun zumindest verstehe ich, warum ich Erweiterungen wie Maven verwenden sollte. Das Problem war, obwohl ich diese JAR zu meinem Projekt hinzugefügt habe, existierten sie einfach nicht in meinem WEB-INF/lib-Ordner. Ich füge diese Ergebnisse zu meinem ursprünglichen Post hinzu und wähle Ihre als Antwort aus. Vielen Dank! – JuniorDev

0

Ich glaube, Sie sollte das ausgewählte JDBC-Jar in die Web-App-Bibliothek importieren.