java se加mysql_java连接Mysql问题

本文讨论了在Java编程中遇到的NoClassDefFoundError错误,问题源于缺少MySQL驱动类。解决方案包括确保正确导入mysql-connector-java jar包,并保持其名称不变,同时确保classpath设置正确,将jar包添加到项目和Tomcat的lib目录。讨论还涉及了类加载机制和避免系统移植问题的重要性。
摘要由CSDN通过智能技术生成

没驱动。。。你的jar包没导

导了啊  哭死

CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:/home/gongsheng/mysql.jar

com.mysql.jdbc.Driver  你在包里找这个类,找的到不?

应该导在你的pro下的lib中,再引用一下拉

看了 jar包  里面有Driver.class

应该是mysql的jar包,如:mysql-connector-java-5.0.3-bin.jar 这样的

引用 4 楼 AppleBoy2008 的回复:应该导在你的pro下的lib中,再引用一下拉

这有关系么?

pro是什么文件夹?

引用 6 楼 AppleBoy2008 的回复:应该是mysql的jar包,如:mysql-connector-java-5.0.3-bin.jar 这样的

我嫌导入时麻烦 所及就改了名字

mysql-connector-java-5.1.7.zip

引用 6 楼 AppleBoy2008 的回复:应该是mysql的jar包,如:mysql-connector-java-5.0.3-bin.jar 这样的

嗯,MYSQL的驱动是该如仁兄所说,,

就是你的项目路径。

创建工程时候,不是有个lib么?jar包就应该放那。。。

错了  是这个

mysql-connector-java-5.1.7-bin.jar

我把名字给改成mysql.jar了

应该是jar包不对,把zip的换成jar好像不行吧

引用 12 楼 freedom2001 的回复:应该是jar包不对,把zip的换成jar好像不行吧

错了  是这个

mysql-connector-java-5.1.7-bin.jar

我把名字给改成mysql.jar了

你报的异常就是没有找到驱动类

你可以试试

static{

Class.forName("com.mysql.jdbc.Driver");

}

如果还不行,那你看看url是不和你这个版本驱动包匹配啊,像mssqlserver2000和mssqlserver2005的url就不大相同。

NoClassDefFound:

当 Java 虚拟机或 ClassLoader 实例试图在类的定义中加载(作为通常方法调用的一部分或者作为使用new 表达式创建的新实例的一部分),但无法找到该类的定义时,抛出此异常。

我的理解:

当在一个类中,用到了另外一个类,这里的用到是指:在某个方法中用到或者是通过new 表达式创建新实例, 如果无法找到该类的定义,则抛出些异常。

你改了名字之后系统无法识别,所以不要修改名字重新导入就可以了

引用 15 楼 yinyuan1987 的回复:NoClassDefFound:

当 Java 虚拟机或 ClassLoader 实例试图在类的定义中加载(作为通常方法调用的一部分或者作为使用new 表达式创建的新实例的一部分),但无法找到该类的定义时,抛出此异常。

我的理解:

当在一个类中,用到了另外一个类,这里的用到是指:在某个方法中用到或者是通过new 表达式创建新实例, 如果无法找到该类的定义,则抛出些异常。

你改了名字之后系统无法识别,所以不要修改名字重新导入就可以了

这位说的有理~

引用 15 楼 yinyuan1987 的回复:NoClassDefFound:

当 Java 虚拟机或 ClassLoader 实例试图在类的定义中加载(作为通常方法调用的一部分或者作为使用new 表达式创建的新实例的一部分),但无法找到该类的定义时,抛出此异常。

我的理解:

当在一个类中,用到了另外一个类,这里的用到是指:在某个方法中用到或者是通过new 表达式创建新实例, 如果无法找到该类的定义,则抛出些异常。

你改了名字之后系统无法识别,所以不要修改名字重新导入就可以了

试试下先

引用 15 楼 yinyuan1987 的回复:NoClassDefFound:

当 Java 虚拟机或 ClassLoader 实例试图在类的定义中加载(作为通常方法调用的一部分或者作为使用new 表达式创建的新实例的一部分),但无法找到该类的定义时,抛出此异常。

我的理解:

当在一个类中,用到了另外一个类,这里的用到是指:在某个方法中用到或者是通过new 表达式创建新实例, 如果无法找到该类的定义,则抛出些异常。

你改了名字之后系统无法识别,所以不要修改名字重新导入就可以了

11 CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:/home/gongsheng/mysql-c    onnector-java-5.1.7-bin.jar

还是没用

运行的时候设置你的classpath指向驱动jar包的路径呗

你最好把与系统有关的东西放在系统的一个目录下面,然后引用,否则,你在系统移植的时候,你会哭的,哈哈

找到原因了,

是由于我开了多个终端引起的

感谢大家帮助,结帖

你在tomcat的目录lib下要有mysql-connector-java-5.1.7-bin.jar

这个包。

还要把这个包放在你的开发工具lib下。

引用 22 楼 gaojuvip 的回复:你在tomcat的目录lib下要有mysql-connector-java-5.1.7-bin.jar

这个包。

还要把这个包放在你的开发工具lib下。

改名和lib路径无影响,

另感谢20楼提醒,现在在学习,对这方面感触不深。

看你的运行环境里有没有jar包,

在你的项目下的web-inf/lib/下放入MYSQL的JAR包

把你的mysql驱动程序导进去,就可以了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值