无法加载 JDBC 驱动程序类 [com.mysql.cj.jdbc.Driver]



我的Spring Boot应用程序中有以下类:

@Configuration
public class JDBCTokenConfig {
...
@Value("${spring.datasource.driver-class-name}")
private String dbDriverClassName;
@Bean
public DataSource dataSource() {
final DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName(dbDriverClassName);
dataSource.setUrl(datasourceUrl);
dataSource.setUsername(dbUsername);
dataSource.setPassword(dbPassword);
return dataSource;
}

我的pom中也有以下内容.xml:

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

在我的应用程序属性中,我有:

...
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

然而,我看到以下错误:

Failed to instantiate [javax.sql.DataSource]: Factory method 'dataSource' threw exception; nested exception is java.lang.IllegalStateException: Could not load JDBC driver class [com.mysql.cj.jdbc.Driver]

这是正确的驱动器类路径吗?还是别的什么?

尝试使用com.mysql.jdbc.Driver

当pom.xml中未明确提供版本时,Spring 使用以下预配置的依赖项版本: https://docs.spring.io/platform/docs/current/reference/htmlsingle/#appendix-dependency-versions

这里将使用以下版本的 mysql-connector-java 。5.1.47

对于 mysql-connector-java v5.1.47,正确的驱动程序类是com.mysql.jdbc.Driver

您还可以为依赖项提供版本以使用最新的驱动程序:com.mysql.cj.jdbc.Driver

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

相关内容

最新更新