2013-05-10 2 views
12

Я пытался выполнить некоторые основные операции с базой данных. Я использую STS 3.2.0, Apache Tomcat 7.ClassNotFoundException: org.springframework.jdbc.datasource.DriverManagerDataSource

Мой диспетчеру-servlet.xml включает в себя:

<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 с треском проваливается с тысячами исключений, начиная с этой:

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: я скачал 3.0.3.RELEASE версию банку, и его до сих пор го e.

FINAL EDIT Кажется, вы должны добавить свои внешние банку файлы вручную в каталог развертывания, а также (хорошо, если вы не используете любое расширение бы сделать это для вас)

+0

Является ли этот класс на самом деле в файле JAR (открыть его с помощью WinZip или расширить его в затмении). Если нет, значит, у вас неправильная банка. Если он есть, вы не подбираете его при запуске приложения. – DaveRlz

+0

@DaveRlz Я думаю, что это в банке. Я могу импортировать и напрямую использовать его содержимое в своих обычных java-файлах, он просто не существует, пока мой webapp запускается. – JuniorDev

ответ

34

Попробуйте добавить в pom.xml:

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

Я обновил свой файл pom.xml и добавил зависимость jdbc, но результат такой же. – JuniorDev

+1

Ваш файл войны содержит эту банку в папке WEB-INF/lib? – Patison

+1

ну, по крайней мере, сейчас я понимаю, почему я должен использовать расширения, такие как maven. Проблема заключалась в том, что, хотя я добавил эти jar в свой проект, их просто не было в моей папке WEB-INF/lib. Я добавлю этот результат к своему оригинальному сообщению и выберем ваш ответ. Благодаря! – JuniorDev

0

Я думаю, что вы должен импортировать выбранную jdbc jar в библиотеку веб-приложений.

Смежные вопросы