首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法加载驱动程序类: com.mysql.cj.jdbc.Driver

无法加载驱动程序类: com.mysql.cj.jdbc.Driver
EN

Stack Overflow用户
提问于 2021-12-28 07:44:40
回答 4查看 3.9K关注 0票数 2

我的Spring尝试用驱动程序mysql-connector-java连接MYSQL数据库。我有最新的mysql驱动程序和spring-boot-starter-data-jpa

代码语言:javascript
复制
<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>

我已经在application.properties文件中配置了数据库连接

代码语言:javascript
复制
spring.jpa.hibernate.ddl-auto=update
spring.datasource.url=jdbc:mysql://${MYSQL_HOST:localhost}:3306/db_example
spring.datasource.username=somethingfunny
spring.datasource.password=somethingfunny
spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver
#spring.jpa.show-sql: true

MYSQL版本为8.0.26

Spring引导版本2.6.2

使用Intellij运行项目时,会出现错误

导致: org.springframework.beans.BeanInstantiationException:未能实例化

:工厂方法'dataSource‘抛出异常;嵌套异常是org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185):无法加载驱动程序类: com.mysql.cj.jdbc.Driver at java.lang.IllegalStateException~spring 5.3.14.jar:5.3.14 at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) ~spring 5.3.14.jar:5.3.14.jar:5.3.14加载驱动程序类: org.springframework.util.Assert.state(Assert.java:97) ~spring- com.mysql.cj.jdbc.Driver -5.3.14.jar:5.3.14在org.springframework.boot.autoconfigure.jdbc.DataSourceProperties.determineDriverClassName(DataSourceProperties.java:241) ~spring-启动-自动配置-2.6.2.jar:2.6.2在org.springframework.boot.autoconfigure.jdbc.DataSourceProperties.initializeDataSourceBuilder(DataSourceProperties.java:193) ~spring-org.springframework.boot.autoconfigure.jdbc.DataSourceProperties.initializeDataSourceBuilder(DataSourceProperties.java:193)-自动配置-2.6.2。jar:2.6.2在org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration.createDataSource(DataSourceConfiguration.java:48) ~spring-启动-自动配置-2.6.2.jar:2.6.2在org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$Hikari.dataSource(DataSourceConfiguration.java:90) ~spring-启动-2.6.2.jar:2.6.2在java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native方法) ~na:na在java.base/jdk.internal.reflect.NativeMethodAccessorImpljava.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~na:na在java.base/java.lang.reflect.Method.invoke(Method.java:566) ~na:na在org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) ~spring-beans-5.3.14.jar:5.3.14 :5.3.14.省略36个常见帧

我已经引用了关于Cannot load driver class: com.mysql.jdbc.Driver (不是com.mysql.cj.jdbc.Driver)的文章,我不能申请我的项目,因为我的项目在使用com.mysql.cj.jdbc.Driver时会出错,而不是com.mysql.jdbc.Driver

我也参考了这篇文章Cannot load driver class: com.mysql.cj.jdbc.Driver。但是对于这个错误,我找不到正确的答案(答案被标记为更正)。

如何修复此错误?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2021-12-28 10:39:29

您检查过MySQL连接器的哪个版本吗?

由于您还没有在pom.xml中指定版本,所以有可能它会提取版本5,而现在它正在抱怨版本8所需的.cj。

这可能是它在没有.cj ( com.mysql.jdbc.Driver )的情况下工作的原因,因为它提取了版本5。手动将版本添加到pom.xml中,并保持.cj的原样。

代码语言:javascript
复制
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.16</version>
</dependency>

之后,请确保提取了您的依赖项。但是,如果在"mvn干净安装“之后只有版本8,请确保您在项目中签入。

至于您共享"mysql版本“的图片,这意味着没有任何意义,例外是mysql-连接器jar,它与工作台无关,您仍然可以使用工作台5,并使用mysql-连接器jar版本8,这将没有什么区别。

在mysql工作台的任何版本中(5或8 ):

mysql-连接器8 jar =需要.cj

连接器5 jar =不需要.cj

唯一需要做的就是在pom.xml中定义mysql-连接器-java的版本。

票数 -1
EN

Stack Overflow用户

发布于 2021-12-28 12:10:55

1)在pom.xml中使用此依赖项

代码语言:javascript
复制
<dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.19</version>
        </dependency>

2)在application.properties文件中使用此属性

代码语言:javascript
复制
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
票数 2
EN

Stack Overflow用户

发布于 2021-12-29 02:06:08

我已经解决了这个问题。在Intellij中,右键单击“项目”,选择“maven”,选择“重新加载项目”。现在Intellij将向项目中添加mysql驱动程序。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70504087

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档