spring.freemarker.cache:false
spring.datasource.url=jdbc:mysql://localhost/mydb
spring.datasource.username=user
spring.datasource.password=pass
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
即使定义了驱动程序类名称,我仍收到此错误
Java.lang.IlLegalStateException:无法加载驱动程序类:com.mysql.jdbc.Driver at org.springframework.util.Assert.state(Assert.java:392)~[spring-core-4.2.1.RELEASE.jar:4.2.1.RELEASE]at org.springframework.boot.autoconfigure.jdbc.DataSourceProperties.getDriverClassName(DataSourceProperties.java:153)~[spring-boot-autoconfigure-1.3.0.M5.jar:1.3.0.M5]at org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration$NonEmbeddedConfiguration.dataSource(DataSourceAutoConfiguration.Java:119)~[spring-boot-autoconfigure-1.3.0.M5.jar:1.3.0.M5]at sun.reflect.NativeMethodAccessorImpl.invoke0(Native方法)~[NA:1.8.0_60]at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)~[NA:1.8.0_60]在......
而且它还在继续
15条答案
按热度按时间lf5gs5x21#
如果您使用的是Maven,请将此代码添加到您的
pom.xml
中:(推荐)用于
MySQL 5.6, 5.7, 8.x
和Java >= 8
;(传统)用于
MySQL <= 5.5
、Java <= 7
或JDBC < 4.2
;More details on Connector/J versions
vuv7lop32#
可能是您正在使用不推荐使用的驱动程序类名。我通过更新应用程序.properties文件中的属性解决了这个问题。
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
iyzzxitl3#
只需确认以下几件事。
1.如果您在代理下,请确保使用VPN连接到内部服务器,如果您正在访问DEV/STG服务器
1.确保在正确的位置中添加以下依赖项,如下所示
<dependencies> <--- inside this section <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.15</version> </dependency> </dependencies>
而不在
`3.而且您不需要使用以下行
Spring.datource.url=jdbc:mySQL://xxxxx`会自动知道要获取哪个驱动程序。
ct2axkht4#
如果您使用的是IDEA和Maven,您可能会忘记重新加载所有Maven项目,这会导致依赖项没有MySQL连接器JAR。这就是为什么当您运行应用程序时,会出现错误提醒“com.mysql.cj.jdbc.Driver”的原因。
rt4zxlrg5#
问题的症结在于您缺少MySQL驱动程序依赖项。
正如其他答案所概述的,其中一种方法是在构建工具的配置中指定它。但是,如果您不想这样做,并且正在使用IntelliJ IDEA(尽管我非常确定Eclipse也有类似的东西),您也可以通过它添加依赖项。步骤:
1.从maven repository下载所需JAR
1.在IntelliJ Idea中打开项目
1.文件->项目结构->库
1.单击新建项目库(左侧绿色加号),或按Alt+Insert组合键
1.选择Java
1.选择您的jar
1.按OK
应该如下所示:
现在,您应该能够使用刚刚添加的依赖项了。
使用IntelliJ IDEA 2017.3.4进行测试。
4xy9mtcn6#
我将分享此错误的更多原因:
Caused by: java.lang.IllegalStateException: Cannot load driver class: org.h2.Driver
。重新生成项目(生成>重新生成项目)后,错误消失。.m2
目录上的一些相关JAR后,错误消失了。pgccezyw7#
Build.gradle
Application.yml
vnzz0bqm8#
可能有人仍然需要一个答案(就像我以前一样)我通过添加以下依赖项解决了这个问题
iq0todco9#
我现在遇到了同样的问题,并在提供了所需的依赖后解决了它。
jucafojl10#
我知道这可能有点晚了,但也许未来的任何人都会发现这个答案是有帮助的。这个问题的产生可能有三个原因
Applation.Properties文件中的Spring配置不正确
cj
丢失或包含在不应该出现的位置。反复试验可能会帮助您发现问题如果以上两个选项都不起作用。完全删除
spring.datasource.driver-class-name=com.mysql.jdbc.driver
。我不知道它是否神奇,但最后一个对我来说很管用。书呆子们加油!
xiozqbni11#
这种类型的错误基本上是针对SQL版本生成的。更改您的/或在您的macen依赖项中添加SQL版本
xkrw2x1b12#
添加以下依赖项解决了我的问题
2jcobegt13#
我的问题只需刷新项目即可解决,也许在您运行应用程序时依赖项尚未加载
waxmsbnn14#
我也有同样的问题。这是因为我忘记在我的pom文件中声明MySQL连接器依赖项。我添加了依赖,然后砰!错误消失了。
o2rvlv0m15#
适用于使用Gradle 8.0及更高版本的用户。我不得不用
implementation 'mysql:mysql-connector-java:8.0.26'
而不是
implementation group: 'mysql', name: 'mysql-connector-java', version: '8.0.26'
,我的应用程序.yml如下所示:
记住重新加载您的Gradle文件