2014-02-16 53 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

相關問題