2013-05-10 8 views
12

Próbowałem wykonać podstawowe operacje na bazie danych. Używam STS 3.2.0, Apache Tomcat 7.ClassNotFoundException: org.springframework.jdbc.datasource.DriverManagerDataSource

Moja dyspozytor-servlet.xml obejmuje:

<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 nie zdało egzaminu z tysiącami wyjątków, wychodząc z tego:

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: ja również pobrać 3.0.3.RELEASE wersję słoika, a jego nadal th to samo.

FINAL EDIT Wydaje się, należy dodać zewnętrzne pliki jar ręcznie do katalogu rozmieszczania jak dobrze (dobrze, jeśli nie używać rozszerzenia że zrobiłbym to dla ciebie)

+0

Czy to rzeczywiście klasa w pliku jar (otworzyć go z WinZip lub rozwinąć go w Eclipse). Jeśli nie, to masz niewłaściwy słoik. Jeśli tak jest, to nie odbierasz go po uruchomieniu aplikacji. – DaveRlz

+0

@DaveRlz Myślę, że jest w słoiku. Mogę importować i bezpośrednio korzystać z jego zawartości na moich zwykłych plikach java, ale po prostu nie wydaje się, aby istniała moja internetowa aplikacja. – JuniorDev

Odpowiedz

34

Spróbuj dodać do pom.xml:

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

Zregenerowałem mój plik pom.xml i dodano zależność jdbc, ale wynik jest taki sam. – JuniorDev

+1

czy twój plik wojenny zawiera ten słoik w folderze WEB-INF/lib? – Patison

+1

dobrze przynajmniej teraz rozumiem, dlaczego powinienem używać rozszerzeń jak maven. Problem polegał na tym, że mimo że dodałem te słoiki do mojego projektu, po prostu nie istniały w moim folderze WEB-INF/lib. Dodam te wyniki do mojego oryginalnego posta i wybiorę twoje jako odpowiedź. Dzięki! – JuniorDev

0

Chyba powinien zaimportować wybrany jar jdbc do biblioteki aplikacji WWW.