昨天整理桌面的时候将桌面的一堆文件移动到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. new Function和eval区别

    eval和new Function都可以动态解析和执行字符串.但是它们对解析内容的运行环境判定不同. eval中的代码执行时的作用域为当前作用域.它可以访问到函数中的局部变量. new Functio ...

  2. Python学习笔记:lambda表达式

    lambda表达式:通常是在需要一个函数,但又不想去命名一个函数的时候使用,即匿名函数. 示例如下: add = lambda x,y : x+ y add(1,2) # 结果为3 1.应用在函数式编 ...

  3. 推进"五通一平":手淘技术"三大容器 五大方案"首次整体亮相 百川开放升级

    在云栖大会上,马云提出五个“新”,新零售.新制造.新金融.新技术和新能源,称将对各行各业造成巨大的影响,成为决定未来成败的关键.而五个新的实现,也必须是各行各业共同推进,整个生态共同受益的结果.继10 ...

  4. 在 Python 中使用 GDB 来调试 转载

    2013/11/01 | Comments 大约一年前,我接触了 Java 中的 Btrace 能够不停机查看线上 JVM 运行情况的特性让我艳羡不已. 另外还有强悍的 jStack 和 jConso ...

  5. CCF201712真题

    试题编号: 201712-1 试题名称: 最小差值 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 给定n个数,请找出其中相差(差的绝对值)最小的两个数,输出它们的差值的绝对值 ...

  6. bzoj 3144

    3144 思路: xxy: 代码: #include <cstdio> #include <cstring> #include <iostream> #includ ...

  7. 同时装有py2 和3,运行scrapy如何区分

    1未区分环境 python2 -m scrapy startproject xxx python3 -m scrapy startproject xxx 当然,执行的时候也是 python2 -m s ...

  8. git推送本地仓库到github

    总结一下,方便后人,也方便自己查阅.直接写步骤 一.本地创建一个文件夹,在里面写项目的文件(* .php/*.js.....). git本地操作: 1 .  cd  /path/to/project  ...

  9. 8-7 Unique Snowflakes UVA11572

    输入一个长度为n n<=10 6  的序列A  找到一个尽量长的连续子序列  使得该序列中没有相同的元素 用滑动窗口法   时间复杂度n  好神奇 此题非常经典 map   410ms #inc ...

  10. JSP的学习三(中文乱码)

    1). 在 JSP 页面上输入中文, 请求页面后不出现乱码: 保证 contentType="text/html; charset=UTF-8", pageEncoding=&qu ...