昨天整理桌面的时候将桌面的一堆文件移动到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解决方式的更多相关文章

  1. Idea运行web项目时,提示java.lang.ClassNotFoundException: com.mysql.jdbc.Driver解决方法

    今天用 idea写了个工程.结果最后报错,错误信息如下: java.lang.ClassNotFoundException: com.mysql.jdbc.Driverat org.apache.ca ...

  2. java.lang.ClassNotFoundException: com.mysql.jdbc.Driver解决办法

    这个问题的原因是没有导入mysql连接库,我从官网上下载后照着网上的教程各种导入无果,最后发现是我导入的文件错了.... 官网上下下来的压缩文件是这个,不过这并不是直接要导入的文件,首先解压文件,然后 ...

  3. java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 解决方法

    1.导入mysql-connector-java-5.1.26-bin.jar包,我试着把maven中自动下载下来的mysql-connector-java-5.1.26.jar包导入,还是没能解决问 ...

  4. 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- ...

  5. idea数据库报错java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

    通过idea操作数据库,进行数据的增加,运行时报错java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 原因:没有导入mysql-connec ...

  6. java中myeclipse连接mysql问题(java.lang.ClassNotFoundException: com.mysql.jdbc.Driver)

    java中myeclipse连接mysql问题(java.lang.ClassNotFoundException: com.mysql.jdbc.Driver) 1.往项目中添加mysql-conne ...

  7. java.lang.ClassNotFoundException: com.mysql.jdbc.Driver问题

    java.lang.ClassNotFoundException: com.mysql.jdbc.Driverat org.apache.catalina.loader.WebappClassLoad ...

  8. java web mysql.jar java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

    java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 折腾了一上午,找到了这错误的原因.哎……悲剧! 确认包已经被导入web工程目录. 原来是 ...

  9. 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 ...

随机推荐

  1. MySQL学习笔记:regexp正则表达式

    在MySQL中,模糊搜索的时候主要用两种方式: 1.like2.regexp + 正则表达式 性能优于like 正则表达式描述了一组字符串. 最简单的正则表达式是不含任何特殊字符的正则表达式.例如,正 ...

  2. 实际工作与JAVA面试题

    1.String 和StringBuilder.StringBuffer 的区别? 答:Java 平台提供了两种类型的字符串:String和StringBuffer / StringBuilder,它 ...

  3. 一步一步学习IdentityServer4 (3)自定登录界面并实现业务登录操作

    IdentityServer4 相对 IdentityServer3 在界面上要简单一些,拷贝demo基本就能搞定,做样式修改就行了 之前的文章已经有登录Idr4服务端操作了,新建了一个自己的站点 L ...

  4. 洛谷P4623 [COCI2012-2013#6] BUREK [模拟]

    题目传送门 BUREK 格式难调,题面就不放了. 分析: 一道比较有思维难度的模拟题. 首先我们可以想到,对于一个三角形,可以画出一个最小矩形使得这个三角形被完全包围,并且这个矩形的边平行于坐标轴(图 ...

  5. [Python网络编程]一个简单的TCP时间服务器

    服务器端: 1.创建一个面向网络的TCP套接字对象socket, 2.绑定地址和端口 3.监听 4.当有客户端连接时候,接受连接并给此连接分配一个新的套接字 5.当客户端发送空信息时候,关闭新分配的套 ...

  6. [leetcode trie]208. Implement Trie (Prefix Tree)

    实现一个字典树 class Trie(object): def __init__(self): self.root = TrieNode() def insert(self, word): cur = ...

  7. ICMP隧道工具ptunnel

    ICMP隧道工具ptunnel   在一些网络环境中,如果不经过认证,TCP和UDP数据包都会被拦截.如果用户可以ping通远程计算机,就可以尝试建立ICMP隧道,将TCP数据通过该隧道发送,实现不受 ...

  8. OpenVAS漏洞扫描基础教程之创建用户

    OpenVAS漏洞扫描基础教程之创建用户 OpenVAS管理服务 默认情况下,OpenVAS服务仅创建了一个名为admin的用户,而且是管理员用户(拥有最高的权限).如果想要其它客户端登陆的话,不可能 ...

  9. 新的起点 Entry KINGSOFT

    夜里,陪宝宝睡了会,呃岁月转变,变化里,不经意间加入了kingsoft. 呃,第一天所以算是一个起点或是一个开始.遇到些琐事,Slow network,oa Account login O(∩_∩)O ...

  10. bzoj 3672 利用点分治将CDQ分治推广到树型结构上

    最大的收获就是题目所说. deal(s) : 处理节点s所在块的问题,并保证: 1.s是该块中最靠近根节点的点,没有之一. 2.s所在块到根节点的路径上的点全都用来更新过了s所在块的所有节点. 然后步 ...