最近写代码碰到一个关于jdbcTemplate的相关问题。因为项目的需求所以需要将程序打包成jar包去公司内网堡垒机运行,一直碰到一个与jdbcTemplate相关的问题。最后这个问题归结到: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception; nested exception is java.lang.IllegalStateException: Cannot load driver class: com.mysql.cj.jdbc.Driver
几经折腾终于解决了,我总结了两点解决问题的办法:
1、看一下你pom.xml的依赖
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.25</version> </dependency>
2、如果你使用了第一个方法还没有解决,那就有可能是第二种情况
在你使用maven打包程序的时候你并没有将mysql连接的jar包一起打包,如果你添加了jar包依赖的话,推荐你这样写依赖
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.25</version> <scope>system</scope> <systemPath>${pom.basedir}/lib/mysql-connector-java-8.0.25.jar</systemPath> </dependency>
打包后你可以解压缩你的jar包,去找一下有没有成功。
以上是我碰到这个问题的解决思路,如果有不对或者遗漏的地方请指点一下