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

这篇具有很好参考价值的文章主要介绍了超详细干货解决Exception in thread “main“ java.lang.ClassNotFoundException及No suitable driver found for jdbc。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

最近一直被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)

超详细干货解决Exception in thread “main“ java.lang.ClassNotFoundException及No suitable driver found for jdbc,java,环境变量配置,连接数据库出错error,java,eclipse,开发语言

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

超详细干货解决Exception in thread “main“ java.lang.ClassNotFoundException及No suitable driver found for jdbc,java,环境变量配置,连接数据库出错error,java,eclipse,开发语言

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

以我的5.1.47举例,超详细干货解决Exception in thread “main“ java.lang.ClassNotFoundException及No suitable driver found for jdbc,java,环境变量配置,连接数据库出错error,java,eclipse,开发语言

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

超详细干货解决Exception in thread “main“ java.lang.ClassNotFoundException及No suitable driver found for jdbc,java,环境变量配置,连接数据库出错error,java,eclipse,开发语言

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

然后找到下载的jar包路径超详细干货解决Exception in thread “main“ java.lang.ClassNotFoundException及No suitable driver found for jdbc,java,环境变量配置,连接数据库出错error,java,eclipse,开发语言ctrl+c复制该文件

将该文件放入C:\Program Files (x86)\Java\mysqlforjdbc里(里面没有装java路径的话,则在C:\Program Files (x86)路径下建一个文件夹重命名为java,在java文件夹里再建一个文件夹重命名为mysqlforjdbc,将jar包ctrl+v粘贴到mysqlforjdbc文件夹里),然后在找到你安装JDK的java路径,以我举例,我安装到了E盘,超详细干货解决Exception in thread “main“ java.lang.ClassNotFoundException及No suitable driver found for jdbc,java,环境变量配置,连接数据库出错error,java,eclipse,开发语言

打开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://www.toymoban.com/news/detail-734957.html

到了这里,关于超详细干货解决Exception in thread “main“ java.lang.ClassNotFoundException及No suitable driver found for jdbc的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包