Springboot + MySQL + 驱动类未找到
Posted
技术标签:
【中文标题】Springboot + MySQL + 驱动类未找到【英文标题】:Springboot + MySQL + Driver Class Not Found 【发布时间】: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 驱动程序依赖项 请查看更新后的帖子 【参考方案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 文件。
【讨论】:
在编译时我没有收到错误,我使用了 JdbcTemplate 当然,给我链接 ***.com/a/36079859/5086633有用的链接.....***.com/questions/28821521/…...还有***.com/questions/28042426/…【参考方案4】:当容器提供jdbc驱动时,范围“运行时”适用于单元测试和容器如tomcat等。运行独立应用程序(spring-boot)时,您应该将其删除或设置为“编译”。
【讨论】:
'mvn 依赖:树' 本地没有安装MAVEN 你可以在ide中执行这个目标。你用哪一个? 我正在使用eclipse 我可以看到所有需要的罐子都在那里以上是关于Springboot + MySQL + 驱动类未找到的主要内容,如果未能解决你的问题,请参考以下文章
类未找到异常 com.mysql.jdbc.driver [重复]
Spring-Kafka.RecordIntercepter类未找到。找不到RecordIntercepter类