2013-10-24 71 views
0

我正在嘗試使用JDBC連接到MYOB數據文件,以便我可以編寫Java程序來讀取該文件的某些內容。在Java中使用JDBC的ClassNotFoundException

因爲我不熟悉,我一直在尋找各種教程,他們都失敗了,在同一個位置的錯誤ClassNotFoundException導致我相信我錯過了所有教程假設它是顯而易見的一步。

,當我嘗試運行以下行(按照目前的教程中,我下面出現的錯誤:

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

確切的錯誤是:

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 
at java.net.URLClassLoader$1.run(URLClassLoader.java:202) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:306) 
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:247) 
at java.lang.Class.forName0(Native Method) 
at java.lang.Class.forName(Class.java:169) 

有人能指出我正確的方向我目前使用this tutorial,但我不知道爲什麼Class無法找到。

+1

您是否已將庫添加到類路徑中? – hexafraction

+0

您需要將mysqljdbc jar添加到項目的構建路徑中。 – Makky

+1

你用什麼開發IDE aur控制檯? 如果您使用控制檯,然後將myslq.jar文件添加到java bin中的lib文件夾中,並且如果您使用的是Eclipse之類的IDE,請按照正確的方式在其中添加jar文件 – Engineer

回答

1

您從http://dev.mysql.com/downloads/connector/j/5.0.html

失蹤的MySQL連接器jar文件中的類路徑下載,顧名思義ClassNotFoundException在Java中的java.lang.Exception一個子類,正值當的Java虛擬機嘗試加載特定的類,並且未在類路徑中找到所請求的類。

有關此異常的另一個重要的一點是,這是一個檢查異常,你需要同時使用這可以通過使用try-catch塊或使用拋出可能拋出ClassNotFoundException在Java方法,明確規定:異常處理條款。

Oracle docs

public class ClassNotFoundException 
extends ReflectiveOperationException 

當應用程序試圖使用通過字符串名加載類拋出該異常:

  • Class類中的forName方法。
  • 類ClassLoader中的findSystemClass方法。
  • 類ClassLoader中的loadClass方法。

但對於指定名稱的類的定義可以找到。

+0

向下投票關心評論。 –

+0

好的,謝謝這不是我遇到的唯一問題,但解決了這個問題,我想我錯過了一個庫,但不知道如何包括一個或在哪裏可以找到它,謝謝。 – Scott

+0

@gRnt:不客氣。有沒有更多的問題,發佈。很高興幫助你。 –

-1

下載mysql驅動程序jar文件並添加我噸至您的類路徑,這將解決您的問題

+2

這是一條評論,不是答案。如果你想把它作爲一個asnwer,那麼你應該把它引用到jar中。 – Makky

相關問題