2010-05-29 69 views
2

我想構建一個簡單的java程序,它創建一個db文件,然後一個表,並在表中插入虛擬值。我找到了這個網頁http://www.zentus.com/sqlitejdbc/index.html並嘗試了網頁上給出的例子,但我得到了下面的錯誤 -如何使用SQLite3與Java

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) 
Could not find the main class: Test. Program will exit. 

回答

1

嗯,看起來像它的類路徑不是一個權利問題。

我的猜測是,你

如果你已經把類似

java -cp sqlitejdbc-v056.jar Test 

,那麼你可能只需要當前目錄添加到類路徑:

# Windows 
java -cp sqlitejdbc.jar-v056;. Test 

# Unix 
java -cp sqlitejdbc.jar-v056:. Test 

看過那個頁面後,我的猜測就是你用的:作爲類路徑分隔符,如頁面所示,而不是;如果你在Windows上,你需要使用它。

+0

我剛剛複製並粘貼了:classpath分隔符。但我試過你說的我仍然得到同樣的錯誤。你有沒有嘗試過這個例子。它對你有用嗎? – Bruce 2010-05-29 08:46:39

+0

我又試了一次。它的工作現在。非常感謝! – Bruce 2010-05-29 08:49:55

+0

如果我創建一個值爲'。'的環境用戶變量CLASSPATH它會起作用嗎? – Bruce 2010-05-29 08:52:00

1

你確定你正在構建測試嗎?這裏有你需要採取的步驟:開始部分到這個文件

  1. 創建一個名爲Test.java的文件,因爲其中包含的類名爲Test
  2. 粘貼從Java代碼並保存
  3. 下載sqlitejdbc-v056.jar文件 並把它放在同一目錄下Test.java文件
  4. 使用javac編譯Test.java到的Test.class
  5. 運行從命令入門部分

你應該看到:

name = Gandhi 
job = politics 
name = Turing 
job = computers 
name = Wittgenstein 
job = smartypants 

作爲輸出。

+0

該示例在您的計算機上運行嗎? – Bruce 2010-05-29 08:47:06

+0

事實上,它是輸出。 – jasonmp85 2010-05-29 09:00:49