2011-06-07 110 views
1

我不能注册MySQL JDBC驱动程序在我的桌面APPMySQL JDBC驱动程序的ClassNotFoundException

我下载mysql-connector-java-5.1.16.zip

解压使用mysql-connector-java的5.1。 16 bin.jar,放入的lib文件夹在我的应用程序

加入这个jar文件到构建路径在Eclipse

不过的Class.forName( “com.mysql.jdbc.Driver”)抛出ClassNotFoundException

什么问题?

enter image description here

回答

2

试试这个:

public static void main(String[] args) throws Exception { 
    Class.forName("com.mysql.jdbc.Driver"); 
} 

的问题是,Class.forName(String)抛出checked异常。经过检查的例外情况,您可以:

  1. 捕获异常。
  2. 声明您的方法抛出异常。 (这是我上面提到的)。

这里是捕捉异常的例子:

public static void main(String[] args) throws Exception { 
    try { 
     Class.forName("com.mysql.jdbc.Driver"); 
    } catch(ClassNotFoundException e) { 
     //do some exception handling 
    } 
} 
+0

从截图中可以清楚地看出,Eclipse希望他在catch/try中包装该行代码,或者向方法签名中添加Throws。他的问题是为什么在运行时无法找到Driver类。 – 2011-06-07 20:59:27

+0

工作正常!谢谢 – zim32 2011-06-07 21:00:36

+0

@Tanner:我认为zim32在Eclipse中看到了这个问题,甚至没有运行代码。 – 2011-06-07 21:01:37

0
  1. 你可以仔细检查罐子是真的在Eclipse构建路径。在Eclipse Project菜单Project > Clean

    Project Properties > Java Build Path > Libraries > Add JARS 
    
  2. 尝试。

1

在你的lib目录,

  1. 右键单击包含驱动程序的jar文件。
  2. ,再去修建路径
  3. 选择添加到构建路径
  4. 运行代码再次

此外,如果您运行的JDBC 4.0兼容的驱动程序,您不再需要自动加载驱动程序。根据JDBC 4.0规范下的自动java.sql.Driver装载3.1节说

DriverManager.getConnection一直 修改了Java SE 服务提供商机制利用到 自动加载JDBC驱动程序。这个 消除了调用 Class.forName的需要。

+1

谢谢soo。经过数小时的努力,您的解决方案帮助了我。 – Bharath 2013-03-27 18:19:24