遇到 SQLClientInfoException 怎么解决?java报错
在编写java的样例代码时出现这种问题。这种情况应该如何解决和避免那?
Exception in thread "main" java.lang.NoClassDefFoundError: java/sql/SQLClientInfoException
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at com.mysql.jdbc.ConnectionImpl. <clinit>(ConnectionImpl.java:213)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:283)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
原因是什么,为什么会发生异常,以及下面到底发生了什么。如果有人能帮忙?提前谢谢
解决思路:根据错误提示的找不到类“java/sql/SQLClientInfoException”信息,首先确认该JDK版本是否有SQLClientInfoException类(根据网络上的介绍,此类别要JDK6以上版本才有!)。虽然JDK6-API中是有该类文件,但不见得您机器上安装的JDK6就有该文件(JDK6以下的版本更不可能有该类别了),一个便捷的确认方式是到您机器上的JDK安装路径下,查看“/src.zip”源文件包中路径"java/sql/"下是否有源文件“SQLClientInfoException.java”如果没有,那则说明你装的JDK中没有该类文件(以本人机器上的JDK为例,虽然是1.6版本【“java version "1.6.0-rc-b66"”】,但就是没有该类文件),因此,在进行数据库连接时老是出现“java/sql/SQLClientInfoException”相关的异常!我拷贝一个较高版本的“%JAVA_HOME%/jrelib/rt.jar”文件(含有"java/sql/SQLClientInfoException"类文件的JDK版本!)替换了本机上的相应文件,再执行程序,就都没问题。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。