文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

超详细干货解决Exception in thread “main“ java.lang.ClassNotFoundException及No suitable driver found for jdbc

2023-10-08 15:44

关注

最近一直被eclipse的WindowBuilder和java继jdbc连接Mysql的问题困扰,终于摸索出对我有用的解决方法,希望这对你也有所帮助!

首先,当你在eclipse等IDE编译器里Run数据库连接后,出现Exception in thread "main" java.lang.ClassNotFoundException的结果报错,我本人后面出现的还有illegal一串字符,非法使用,我猜测是由于使用的mysql connection java的jar包版本低,非法使用,协议禁止,不兼容的原因,事实也是如此,我本来用的是5.1.36,后面装了5.1.47的jar包导入就成功了,这里要注意的是,Mysql是5.x版本的,我用的是5.5,这里有一个常见的错误,Mysql版本要和jar包版本一致(大概是),还有一个必须注意的,事先通过cmd命令框输入java -version和javac -version看看运行环境与编译环境是否一致!!!然后如果是Java7或8的可以去网上查对应的关系,

附上大佬提供的表格链接

(37条消息) mysql-connector-java各版本及与mysql、JDK版本的对应_mysql-connector-j低版本_Lgs_1108的博客-CSDN博客

以及conncecion jar包的链接

Maven Repository: mysql » mysql-connector-java (mvnrepository.com)

主要看你的MYsql版本与之对应支持的Connector/J version 版本,关于版本怎么看,打开控制面板,打开程序与功能

查看已经下载的mysql的版本号,下载可支持对应的Connector/J version 

以我的5.1.47举例,

点击版本号,进入以下界面

 

点击jar以获取mysql  connection java的jar包

然后找到下载的jar包路径ctrl+c复制该文件

将该文件放入C:\Program Files (x86)\Java\mysqlforjdbc里(里面没有装java路径的话,则在C:\Program Files (x86)路径下建一个文件夹重命名为java,在java文件夹里再建一个文件夹重命名为mysqlforjdbc,将jar包ctrl+v粘贴到mysqlforjdbc文件夹里),然后在找到你安装JDK的java路径,以我举例,我安装到了E盘,

打开jdk,然后打开bin,再ctrl+v将jar包粘贴到bin文件夹里 ,然后进入jre里,找到lib文件夹找到文件夹里的ext文件夹,进入ext文件夹,再将jar包ctrl+v粘贴到ext文件夹里

接下来右键此电脑,选择高级系统设置,进入环境变量配置

在Classpath中,添加.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%TOMCAT_HOME%\lib\servlet-api.jar;%JAVA_HOME%\lib\mysql-connector-java-5.1.47.jar;C:\Program Files (x86)\Java\mysqlforjdbc\mysql-connector-java-5.1.47.jar;//如果有些有的话,则不必添加

 红色变量配置很重要,格式为%JAVA_HOME%\lib\(jar包的名字).jar;

C:\Program Files (x86)\Java\mysqlforjdbc\(jar包的名字).jar;(jar包的名字自己从网站下载之后,右键jar包,点击重命名,复制jar包的名字就ok了)

而No suitable driver found for jdbc我认为有两种原因,第一Mysql connector java的jar包与你的Mysql版本或者java环境不兼容,具体版本兼容问题,上文有讲到。(关于与java环境的兼容可以上网查询,这里不再赘述)

第二则是以下几点

驱动字符串出错,需注意

mysql5版本驱动字符串为“com.mysql.jdbc.Driver“

mysql8版本驱动字符串为”com.mysql.cj.jdbc.Driver“

URL格式不对:正确为 Connectionconn=DriverManager.getConnection(“jdbc:mysql://localhost:3306/XX”,“root”,“XXXX”)

端口号后面的是数据库的名称,user和password默认的都是root,我安装的时候可以修改密码,可是我改了之后密码还是空,管理员打开命令框输入mysqladmin -u root -p回车,然后弹出Enter password:(这里要求输入的是旧密码),你可以输入你安装MYsql修改过的密码,和直接回车的空密码试试,一般就是这两个,然后弹出New password:(输入想修改成的密码就行了)。

这里修改后的密码请一定要记住!!!这是后面sqlyog等软件登录数据库的密码,别忘了

Classpath中没有加入合适的mysql_jdbc驱动

上文中提到如何在Classpath中正确的添加mysql connectior java的jar包了

上述操作百分之七八十能解决您的问题。

这篇对于解决Exception in thread "main" java.lang.ClassNotFoundException(illegal)和No suitable driver found for jdbc的文章希望对你有帮助!

如果有什么问题的话,可以私信小傅,看到了会回消息的,共同进步!

  

来源地址:https://blog.csdn.net/fyt2004/article/details/131244365

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯