2014-02-16 54 views
0

我写这个Java应用程序的命令行响应数据,并将其存储到数据库中:如何解决抛出java.lang.ClassNotFoundException:com.mysql.jdbc.Driver

import java.util.Scanner; 
import java.sql.*; 


public class Program { 


    public static void main(String[] args)throws ClassNotFoundException 


    { 


     Connection conn=null; 

     try { 

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

      conn = DriverManager.getConnection("jdbc:mysql://localhost/DevOps_DB","root","root"); 


      PreparedStatement st = conn.prepareStatement("INSERT INTO pers " + "VALUES ('"+args[0]+"'); "); 
      st.executeUpdate(); 


     } 



     catch (SQLException ex) { 

      System.out.println("SQL Exception : "+ ex.getMessage()); 

      System.out.println("Vendor Error : "+ ex.getErrorCode()); 

     } 


     catch(ClassNotFoundException ex) { 

      ex.printStackTrace(); 


     } 



//  
//  for(String arg : args)    
//  { 
//   System.out.println(arg);    
//  } 




    } 





} 

但我已经得到以下例外:

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:217) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:323) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:268) 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Class.java:190) 
    at Program.main(Program.java:18) 

为什么? ...解决问题的任何帮助?

编辑:

我加了.jar文件,请参见下面的图片:

enter image description here

+0

那么你是如何运行的?你如何使Java JDBC驱动程序可用于Java? –

+0

检查需要的类是否在你的类路径中 – gipinani

+0

是你的类路径中的mysql驱动程序? – Kent

回答

2

您需要下载mysql connector jar文件(驱动程序实现),并把它添加到您的类路径。

在侧面说明,如果你正在使用JDBC 4.0(Java 7的,甚至6,我认为),那么你不需要使用Class.forName("com.mysql.jdbc.Driver");。只需将jar添加到类路径。驱动程序实现将自动从类路径中搜索并加载。

+0

请参阅我的编辑:) ..... – Akari

+0

您确定要将它添加到您正在运行的同一个项目中。 '右键单击项目 - >构建路径 - >配置构建路径'和'在库选项卡上按添加外部罐和选择你的jar.' –

+1

由于异常清楚地表明类加载失败,因为类不位于我建议使用'java -cp pathToMySqlCJar yourMainClass'运行并查看。如果这个成功,你添加没有正确添加jar到你的项目。尝试在Eclipse中重建您的项目。 –

1

@Akari:这是关系到MySQL的.jar文件。尝试检查MySql的.jar是否设置为类路径。

+0

看到我的编辑:) .... – Akari

2

您必须下载MySQL的连接器jar文件(驱动程序实现),并把它添加到您的类路径。

1

确定你添加的jar.do一两件事开放服务器, 形式窗口 - >显示视图>服务器 在服务器上,然后双击

然后它会打开一个新的窗口,然后转到打开启动配置然后

转到类路径并agin添加mysql-connector.jar单击确定。

+0

这适用于我... Thnks你... –

-1

提取MySQL驱动程序,您可以从a link下载! 并复制MySQL的拉链的.jar文件,它在“LIB”粘贴在这里Screenshot of the location u have to paste in into (in the interface)

+0

这并没有提供一个问题的答案。一旦你有足够的[声誉](https://stackoverflow.com/help/whats-reputation),你将能够[评论任何帖子](https:// stackoverflow。COM /帮助/权限/评论);相反,[提供不需要提问者澄清的答案](https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-c​​an- I-DO-代替)。 - [来自评论](/ review/low-quality-posts/18114516) – nyedidikeke

相关问题