本地开发 SpringBoot 项目的时候,在集成 MyBatis 查询数据库的时候,使用 IDEA 启动项目的时候,有时候会碰见以下的报错:java
Caused by: java.sql.SQLException: com.mysql.jdbc.Driver at com.alibaba.druid.util.JdbcUtils.createDriver ...... Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver at java.net.URLClassLoader.findClass(URLClassLoader.java:382) .......
去 pom.xml 里查看是否添加了mysql 驱动。若是以前没有添加,须要引入 mysql 的 jar 驱动:mysql
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency>
从新编译后运行,若是仍是报这个错,看第 2 步。sql
执行 IDEA 里的 mvn install 命令,下载可能缺失的 jar 包。 若是从新编译后运行仍是不行,看第 3 步。数据库
.yml 和 .properties 的配置文件对格式都有严格要求,确认一下本身的数据库链接配置是否有格式错误。
好比:微信
笔者按照前面的 3 个步骤反复检查确认,依然仍是报这个错误,折腾了半天。会不会 IDEA 哪一个地方的设置有问题。maven
为了验证猜测,因而进到 jar 包所在的工程目录下面, 在命令行下直接使用java -jar 的方式启动:ide
`java -jar projectName.jar`
却发现服务可以正常启动起来,没有报java.lang.ClassNotFoundException这个错误。 因为个人项目是 SpringBoot 聚合工程,因而就猜想会不会是这个 模块下的依赖没有被 IDEA 读到呢?ui
经过 File -> Project Structure -> Project Settings -> Modules 打开 弹窗,选中该模块,在右侧找到 Dependencies 选项卡并打开,在下面会出现该模块依赖的 jar 包列表:
仔细找了一下子,发现居然没有找到第 1 步添加的 mysql 的 jar 包。
找到了问题的缘由,下面就列出三种解决办法。idea
点 +
号,而后选择 Library
:
点 Add Selected
保存。spa
在弹出的菜单中选择Reimport
,则会从新从 pom.xml 里解析并下载依赖。
若是你在在开发过程当中新建了一个模块,而后删除了该模块,后边又新建了一个相同名字的模块,则依赖也是引不进来的。 这是由于 IDEA 默认已经删除的模块将再也不使用,解决办法:
删除掉圈红的该行(对应你以前删掉的模块名)
能够在命令行执行 Jar 包:
欢迎你们关注个人微信公众号阅读更多文章: