2016-06-14 32 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

如何在类路径中列出它们 –

相关问题