java.lang.ClassNotFoundException: com.mysql.jdbc.Driver解决方式
昨天整理桌面的时候将桌面的一堆文件移动到F盘去了,结果导致原来建的一些项目名称所有出现红色感叹号,打开一看,原来是由于我把hibernate的那些jar包移走了。导致user library里那些jar在原来的路径里找不到了,所以出现红色感叹号,在写新的项目的时候就不能把原来写的项目copy过来改了。仅仅好又一次新建了个java project,然后又一次导包,编好代码执行一下。报了例如以下错误:java.lang.ClassNotFoundException: com.mysql.jdbc.Driver。
错误显示没有找到MySQL的驱动,第一选择就是去查看MySQL驱动包究竟导入没,看了一下确实导入了。难道是我的配置文件出错了?不应该啊,我从hibernate文档里copy进去的,并且前几天也是这样copy进去的。没出问题,但还是细致去看了一眼,并跟曾经的项目对比了一下 。没错。
既然配置文件没出问题,仅仅可能是MySQL驱动包出问题了。果断把这个驱动包remove了,再执行。还是这个错误。
也就是说摩罗我这个驱动包放在项目里和没放在项目里没不论什么差别,难道是包出问题了?应该不会,没动过,仅仅好再把驱动包导入。这时奇迹出现了,执行成功了。
细致回忆为啥是这样,后来才发现原来我刚開始导入这个驱动包手快直接ctrl+v复制进去了,并没有add
to build path里去。果断把这个包remove了,再试试直接复制进去,果然又出现这个情况了。
事实上导包的时候是能够复制进去,但必须进行add to build path这个步骤,或者直接通过add external jars来导包。
最后讲讲这个问题在web项目里咋解决:
a.确认包已经被导入webproject文件夹。
b.把mysql-connector-java-3.1.13-bin.jar 导入到tomcat的lib文件夹以下就ok了。
由于在web项目中。当Class.forName("om.mysql.jdbc.Driver");时myeclipse是不会去查找字符串,不会去查找驱动的。所以仅仅须要把mysql-connector-java-3.1.13-bin.jar copy到tomcat下lib文件夹就能够了。
当然在在java项目中。仅仅须要引入mysql-connector-java-5.1.7-bin.jar就能够执行java项目。
最后插一个新犯的错误,我原来做项目都用的铁通的无线网,今天用联通的。然后又出现了错误:java.lang.ClassNotFoundException: com.mysql.jdbc.Driver。首先就排除了上面那些错误原因。由于全是从原来项目copy项目环境过来的,jar包没问题,引入的方式也是正确的。所以就怀疑是连接时的ip写错了,毕竟今天换网才出现的这个问题。并且我的MySQL是装在虚拟机里的,于是进虚拟机->执行->cmd->ipconfig里查了ip。发现IP由原来的192.168.199.230变成192.168.1.111,并且主机的ip地址也从192.168.199.160变成192.168.1.108。显然ip地址变了,于是就把配置文件中的MySQLserver地址改成了192.168.1.111,然后顺利连接成功了。
最后解释一下很多人疑惑的问题:为什么自己从ip138站点查出来的ip地址和自己通过cmd->ipconfig查出来的地址为啥是不一样的?事实上这个192.168.*.*是私网ip地址,通过地址转化(NAT)就能够转化成公网ip了。而这个公网IPj就是你从ip138站点上查出来的那个IP地址。
这里插一句题外话。使用虚拟机的时候有可能出现虚拟机ping主机能ping通,主机ping虚拟机却ping不通,这个问题在虚拟机配置的时候将NAT模式切换成桥接模式就能够解决。
总结一下解决的方法:
1.检查MySQL驱动包有问题没,在网上下载的MySQL驱动包有可能会出问题。尽量下载那种压缩包。摩罗我曾经就连着下载了好几个jar包都出问题,最后又一次下载了个 压缩包。而不是直接的jar包才解决,由于压缩包不会那么easy丢失文件。
2.假设MySQL和MyEclipse不是装在同一台机器上,或者是MySQL是装在虚拟机里的。必须查看连接语句里的ip地址是否正确。
3.检查jar包导入的方式正确与否。假设是直接复制进去的,就必须add to build path或者直接通过add external jars来导包。
4.假设是web项目,就必须把mysql-connector-java-3.1.13-bin.jar copy到tomcat下lib文件夹下。然后project->clean一下。
5.还不能解决。能够考虑把mysql-connector-java-3.1.13-bin.jar的路径放到classpath以下
尊重版权,转载请不要删除下方二维码并注明本文链接
欢迎关注行者摩罗微信公众号(xingzhemoluo),共同交流编程经验,扫描下方二维码就可以;
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver解决方式的更多相关文章
- Idea运行web项目时,提示java.lang.ClassNotFoundException: com.mysql.jdbc.Driver解决方法
今天用 idea写了个工程.结果最后报错,错误信息如下: java.lang.ClassNotFoundException: com.mysql.jdbc.Driverat org.apache.ca ...
- java.lang.ClassNotFoundException: com.mysql.jdbc.Driver解决办法
这个问题的原因是没有导入mysql连接库,我从官网上下载后照着网上的教程各种导入无果,最后发现是我导入的文件错了.... 官网上下下来的压缩文件是这个,不过这并不是直接要导入的文件,首先解压文件,然后 ...
- java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 解决方法
1.导入mysql-connector-java-5.1.26-bin.jar包,我试着把maven中自动下载下来的mysql-connector-java-5.1.26.jar包导入,还是没能解决问 ...
- ambari-server启动出现ERROR main] DBAccessorImpl:106 - Error while creating database accessor java.lang.ClassNotFoundException:com.mysql.jdbc.Driver问题解决办法(图文详解)
不多说,直接上干货! 问题详情 ambari-server启动时,报如下的错误 问题分析 注:启动ambari访问前,请确保mysql驱动已经放置在/usr/share/Java内且名字是mysql- ...
- idea数据库报错java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
通过idea操作数据库,进行数据的增加,运行时报错java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 原因:没有导入mysql-connec ...
- java中myeclipse连接mysql问题(java.lang.ClassNotFoundException: com.mysql.jdbc.Driver)
java中myeclipse连接mysql问题(java.lang.ClassNotFoundException: com.mysql.jdbc.Driver) 1.往项目中添加mysql-conne ...
- java.lang.ClassNotFoundException: com.mysql.jdbc.Driver问题
java.lang.ClassNotFoundException: com.mysql.jdbc.Driverat org.apache.catalina.loader.WebappClassLoad ...
- java web mysql.jar java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 折腾了一上午,找到了这错误的原因.哎……悲剧! 确认包已经被导入web工程目录. 原来是 ...
- java链接MySQL数据库时使用com.mysql.jdbc.Connection的包会出红线问题 java.lang.ClassNotFoundException: com.mysql.jdbc.Driver问题
package com.swift; //这里导入的包是java.sql.Connection而不是com.mysql.jdbc.Connection import java.sql.Connecti ...
随机推荐
- Python学习笔记:出生日期转化为年龄
在数据挖掘项目中,有时候个体的出生日期包含信息量过大,不适合作为一个有效数据进入模型算法训练,因此有必要把出生日期转化为年龄age,age是一个很好的特征工程指示变量. import pandas a ...
- 在Kubernetes上使用Traefik
本节内容: Traefik介绍 部署测试用的两个服务 Role Based Access Control configuration (Kubernetes 1.6+ only) 部署Traefik ...
- 一步一步学习IdentityServer3 (7)
在介绍自定义用户服务之前先对IdentityServerServiceFactory说明下 Idr3的服务工厂 下面有很多idr3提供的接口服务, 如:ViewService.UserService. ...
- MySQL下concat函数中null值问题
在mysql中,使用CONCAT(str1,str2,...)函数拼接字符串的过程中,如果你拼接的字段当中有值为null,那么拼接的结果就为null 注: select CONCAT(字段1,字段2) ...
- 纯CSS实现3D图像轮转
CSS演武场今天继续,今天看一个纯css实现的3D图像轮转效果,请大家猛戳研究效果先,也可下载收藏先. 首先看html文件,div.billboard为效果的容器,利用10个div.poster分割图 ...
- Html5游戏开发攻略(免费的音乐面包篇)
这一篇我们来尝尝免费的面包,至少目前是这样的. QQ音乐相信大家或多或少都使用过,里面的音乐资源非常多. 这个时候你可能就明白了,没错,我们要在游戏中使用QQ音乐的资源当背景音乐~~~~~哦耶~! 咳 ...
- mac 用密钥远程登陆
window远程登陆命令:mstsc A为本地主机(即用于控制其他主机的机器) ;B为远程主机(即被控制的机器Server), 假如ip为192.168.60.110;A和B的系统都是Linux 在A ...
- linux网络管理----远程登录工具
1.对称加密 例子:压缩文件加密码,别人要打开,只能知道你的密码,这样的方法不安全,因为这个密码可能是你的qq密码或者是邮箱密码等等 2.非对称加密 类似于放羽毛球的桶,两边都可以拿资源,两边都加一个 ...
- String 与不可变对象
什么是不可变对象 ?不可变对象指的是在创建一个对象之后 ,不能再改变它的状态 ,那么这个对象就是不可变的 .不能改变状态的意思是 ,不能改变对象内的成员变量 ,包括基本数据类型的值不能改变 ,引用类型 ...
- CentOS7启动流程
同样我也找了一张CentOS7的启动流程图. 第一步.硬件启动阶段 这一步和CentOS6差不多,详细请看CentOS6启动流程(含详细流程图) 第二步.GRUB2引导阶段 从这一步开始,CentOS ...