【问题标题】:Springboot + MySQL + Driver Class Not FoundSpringboot + MySQL + 驱动类未找到
【发布时间】:2019-05-25 09:36:02
【问题描述】:

我正在使用线程池和 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>

【问题讨论】:

  • 请分享您的 pom.xml,您可能缺少 mysql jdbc 驱动程序依赖项
  • 请查看更新后的帖子

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


【解决方案1】:

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

马文:

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

或毕业:

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

【讨论】:

  • 我已经添加了
【解决方案2】:

看起来你忘记添加对 MySQL 的依赖(Spring Boot 默认使用 H2 数据库),你应该在 pom.xml 中添加下一行:

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

【讨论】:

  • 我已经添加了mysql-connector-java
【解决方案3】:

首先将其包含在您的 pom 文件中。

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

其次,全新安装 maven 项目。 如果您使用的是 eclipse,请检查您的 JDK 版本和 maven(有时使用 jre 而不是 jdk,因此,虽然在控制台中一切看起来都很好,但实际上没有下载 jar) 简而言之,当 maven 构建完成时,.m2 repo 应该有这个 jar 文件。

【讨论】:

【解决方案4】:

当容器提供jdbc驱动时,范围“运行时”适用于单元测试和容器如tomcat等。运行独立应用程序(spring-boot)时,您应该将其删除或设置为“编译”。

【讨论】:

  • 'mvn 依赖:树'
  • 本地没有安装MAVEN
  • 你可以在ide中执行这个目标。你用哪一个?
  • 我正在使用eclipse
  • 我可以看到所有需要的罐子都在那里
猜你喜欢
  • 2017-11-09
  • 1970-01-01
  • 2016-01-14
  • 1970-01-01
  • 1970-01-01
  • 2023-02-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多