簡體   English   中英

無法加載SQLite JDBC驅動程序,有什么想法嗎?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM