ClassNotFoundException:org.springframework.jdbc.datasource.DriverManagerDataSource

时间:2013-05-10 08:18:39

标签: java spring-mvc jdbc classnotfoundexception

我正在尝试做一些基本的数据库操作。我正在使用STS 3.2.0,Apache Tomcat 7。

我的dispatcher-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

编辑1:我还下载了jar的3.0.3.RELEASE版本,它仍然是一样的。

最终编辑看来,您应该手动将外部jar文件添加到部署目录中(如果您不使用任何为您这样做的扩展名)

3 个答案:

答案 0 :(得分:41)

尝试添加到POM.xml:

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

答案 1 :(得分:1)

如果以上解决方案都不起作用,则手动将spring-jdbc jar文件添加到webapp / WEB-INF / lib。

答案 2 :(得分:0)

我认为您应该将选定的jdbc jar导入到Web应用程序库中。