找不到Springboot + MySQL +驱动程序类

时间:2018-12-27 10:38:18

标签: java spring-mvc spring-boot java-8 threadpool

我正在做一个带有线程池和MySQL的简单的Spring Boot项目,以便每当我添加spring-boot-starter-jdbc时都连接到MySQL,而我却遇到了错误。

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Tomcat.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.tomcat.jdbc.pool.DataSource]: Factory method 'dataSource' threw exception; nested exception is java.lang.IllegalStateException: Cannot load driver class: com.mysql.jdbc.Driver 
    at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:599) ~[spring-beans-4.3.14.RELEASE.jar:4.3.14.RELEASE]
    at org.s

更新1:

    <dependencies>
            <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>

<dependency>
    <groupId>com.opencsv</groupId>
    <artifactId>opencsv</artifactId>
    <version>3.3</version>
</dependency>

    </dependencies>

4 个答案:

答案 0 :(得分:2)

似乎您缺少mysql-connector依赖项, 将它们添加到您的pom中。

行家:

   <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
    </dependency>

或gradle:

compile "mysql:mysql-connector-java:*"

答案 1 :(得分:0)

好像您忘了添加对MySQL的依赖关系(默认情况下,Spring Boot使用H2数据库),您应该在pom.xml中添加下一行:

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>

答案 2 :(得分:0)

首先将其添加到pom文件中。

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>

第二,干净安装maven项目。 如果您使用的是eclipse,请检查您的JDK版本和Maven(有时使用jre代替jdk,因此,尽管在控制台中一切正常,但实际上并未下载jar) 简而言之,在完成maven构建后,.m2 repo应该具有此jar文件。

答案 3 :(得分:0)

当容器提供jdbc驱动程序时,作用域“运行时”对于单元测试和容器(例如tomcat等)非常有用。在运行独立应用程序(春季启动)时,应将其删除或设置为“编译”。