[英]Cannot load an SQLite JDBC Driver, Any Ideas?
因此,我需要編寫一個程序來訪問和修改學校程序的SQLite數據庫,並首先查看基礎知識。 現在,我正在查看此內容以幫助我入門: link text 。 問題是當我編譯Test.java(網站上的示例代碼)然后運行命令時:
java -cp .:sqlitejdbc-v056.jar Test
就像它告訴我的那樣,我收到以下錯誤:
Exception in thread "main" java.lang.NoClassDefFoundError: Test
Caused by: java.lang.ClassNotFoundException: Test
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Could not find the main class: Test. Program will exit.
Test.java,Test.class和sqlitejdbc-v056.jar都位於同一文件夾中,因此它們應該彼此找到。 有人知道我在做什么錯嗎?
根據java.lang.NoClassDefFoundError: Test
,在CLASSPATH中找不到Test
類。 但是您寫到Test.class
在當前目錄中可用,所以我會猜到一些。 實際上,我認為您沒有使用正確的CLASSPATH分隔符(取決於平台),因此無法正確構建CLASSPATH。 在Windows上,您應該使用;
代替:
。 如果碰巧是這種情況,則應嘗試以下操作:
java -cp .;sqlitejdbc-v056.jar Test
如果您使用的是類似Unix的平台,請忘記此答案,問題出在其他地方。
就像異常消息說的那樣,問題在於它找不到類Test。 因此,問題不是找到SQLite,而是找到您的Test類。
只是一個猜測,但我想知道您的編譯方式是否存在問題。 在Test.java中,該類是否屬於包? 如果是這樣,則需要使用-d標志對其進行編譯,以便將其放入相應的子目錄中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.