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 ...
随机推荐
- MySQL学习笔记:case when
一.MySQL case when的三种用法: 1.case 字段 when, 字段的具体值: select a.*, case sex when '1' then '男' else '女' end ...
- Elasticsearch 6.x 入门测试
首先听一下官方的话: https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html 我尝试了使用Java作为Cl ...
- Docker网络和存储
本节内容: Docker网络访问 端口映射 数据管理 一.Docker网络访问 1. docker自带的网络 docker network ls:列出当前docker中已有的网络 docker net ...
- 一步一步学习IdentityServer3 (6)
上一个章节提到了数据持久化 下面说一说自定义登录界面,Idr3提供了很多服务接口,其中一个就是 ViewService,我们只需要去注册 IViewService 这个接口的实现 提供了一个泛型视图服 ...
- HTML5元素2
用于分组的元素 元素 说明 类型 HTML5与其他的变化 blockquote 表示引自他处的大段内容 流 无变化 dd 用在dl元素之中,表示定义 无 无变化 div 一个没有任何既定语义的通用元素 ...
- Zookeeper学习笔记-概念介绍
目录 概念 背景介绍 zookeeper一致性 使用建议 概念 ZooKeeper是一个开源的分布式协调服务,它为分布式应用提供了高效且可靠的分布式协调服务,提供的功能包括:配置维护.域名服务.分布式 ...
- C11多线程
参考: http://www.oschina.net/translate/cplusplus-11-threading-make-your-multitasking-life http://blog. ...
- C语言:奇偶归一猜想
1.奇偶归一猜想——求多少步归一.(10分) 题目内容: 奇偶归一猜想——对于每一个正整数,如果它是奇数,则对它乘3再加1,如果它是偶数,则对它除以2,如此循环,最终都能够得到1. 如n = 11,得 ...
- lr自带网站WebTours打不开
- MySQL 20个经典面试题
1.MySQL的复制原理以及流程 基本原理流程,3个线程以及之间的关联: 1. 主:binlog线程——记录下所有改变了数据库数据的语句,放进master上的binlog中: 2. 从:io线程——在 ...