2016-06-14 55 views
0

我得到這個代碼的一個ClassNotFoundException:com.mysql.jdbc.Driver ClassNotFoundException的Eclipse的

try { 
     Class.forName("com.mysql.jdbc.Driver"); 
    } catch (ClassNotFoundException e1) { 
     // TODO Auto-generated catch block 
     e1.printStackTrace(); 
    } 
    MySQL.connect(); 

我進口使用mysql-connector(http://dev.mysql.com/downloads/connector/j/5.0.html)和一個特殊的文件夾添加它(我把它命名爲外部)和將其添加到構建路徑。當我在Eclipse中啓動它時,它對我來說工作正常,但是如果我將它導出爲jar並通過java -jar啓動它,它對我不起作用,並且我得到ClassNotFoundException ... 希望有人能幫助我:) Mabye it必須對類路徑做些什麼,但我該如何編輯它,因爲-cp External/mysql-connector.jar不起作用。

+0

日食需要不出口mysql的連接器罐子file.you可以運行你的JAR時手動添加 –

+0

你必須使用mysql-connector添加到類路徑用java -jar。 – simdevmon

回答

-1

我也認爲你必須通過[-cp]配置導入的庫,如

java -cp ../lib/mysql-connector.jar;../lib/* ・・・ 
+0

java -cp External/mysql-connector-java-5.1.18-bin.jar -Xms512M -Xmx1536M -jar test.jar - 這不起作用,java -cp ../External/mysql-connector-java-5.1 .18-bin.jar -Xms512M -Xmx1536M -jar test.jar也無法正常工作.. –

+0

怎麼樣:[java -Xms512M -Xmx1536M -cp test.jar; External/mysql-connector-java-5.1.18-bin .jar test.main] test.main是你的test.jar的主要方法 – Ming

0

當您使用java -jar時,-cp選項將被忽略。請參閱工具文檔。您必須在Manifest的Class-path條目中列出相關的JAR。

然而Class.forName()線尚未自2007年以來

+0

但是,如果我不使用它,我得到一個沒有合適的驅動程序發現異常:/ –

+0

那麼?那只是爲另一個交換一個錯誤。沒提升;沒有更糟。如果您在Manifest的Class-path條目中列出了JAR文件,您將不會。再次發佈之前嘗試一下。 – EJP

+0

如何在類路徑中列出它們 –

相關問題