当前位置:   article > 正文

java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver 异常解决_com.mysql.cj.jdbc.driver找不到

com.mysql.cj.jdbc.driver找不到

 

目录

问题

原因

解决


        今天在开发一个DB同步工具的时候,因为采用的是原生的jdbcDriver链接数据库的,代码如下“ Class.forName(this.jdbcDriver); ”,我这边的配置是“ "jdbcDriver":"com.mysql.cj.jdbc.Driver" ”,当程序走到这一行的时候就报错“ java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver ”。当时我就很纳闷,明明依赖、配置都有为啥找不到对应的类呢。接下来咱们看看如何解决这个问题。

问题

        当程序执行到“ Class.forName(this.jdbcDriver); ”的时候报如下错误:

  1. java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver
  2. at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
  3. at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
  4. at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
  5. at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
  6. at java.lang.Class.forName0(Native Method)
  7. at java.lang.Class.forName(Class.java:264)

原因

        经过排查问题解决了,这里直接记录原因。

  1. 缺少MySQL JDBC驱动程序:该错误通常发生在您的应用程序中未正确配置和加载MySQL JDBC驱动程序的情况下。请确保您的项目配置正确,并且MySQL JDBC驱动程序(例如mysql-connector-java.jar文件)位于类路径中。

  2. 类路径问题:如果MySQL JDBC驱动程序位于类路径之外或无法正确访问,也会导致ClassNotFoundException。请检查类路径设置,并确保可以正确访问和加载MySQL JDBC驱动程序。

  3. 版本不匹配:如果您正在尝试使用不兼容的MySQL JDBC驱动程序版本,也可能会导致ClassNotFoundException。确保您的MySQL JDBC驱动程序版本与您的应用程序和MySQL数据库版本兼容。

  4. 编译错误:如果在编译过程中遇到问题(例如导入修饰符错误,驱动程序不存在等),也会导致ClassNotFoundException。在编译之前和期间,请仔细检查您的代码和依赖项。

解决方法包括:

  • 确保正确配置和加载MySQL JDBC驱动程序,并确保它位于类路径中。
  • 检查类路径设置,以确保可以正确访问和加载MySQL JDBC驱动程序。
  • 确保MySQL JDBC驱动程序版本与应用程序和MySQL数据库版本兼容。
  • 检查编译时是否存在任何错误,并修复它们。
  • 如果以上方法均无效,尝试重新下载和安装适用于您的应用程序和MySQL数据库版本的 MySQL JDBC驱动程序。

解决

我自己的项目产生的原因是由于“3.版本不匹配”问题导致的。经过排查“ mysql-connector-java.jar ”包 5XX开始的版本路径是:“com.mysql.jdbc.Driver”,而6XX及以上开始的版本路径是:“com.mysql.cj.jdbc.Driver” 。我自己将版本的包删除掉就可以了。

希望这个知识点可以帮助到大家

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/618455
推荐阅读
相关标签
  

闽ICP备14008679号