2011-08-27 61 views
2

我在我的java應用程序中使用sqlite。當我從Netbeans運行它時,它運行良好。 sqlite數據庫文件位於根項目目錄(與build.xml相同)。
這是訪問數據庫文件中的代碼:如何在netbeans中將sqlite數據庫文件包含到jar中?

DriverManager.getConnection("jdbc:sqlite:database.db"); 

然而,當我生成項目,並運行NetBeans之外的jar文件,我總是得到這樣的錯誤:no such table: table_name

我的問題:其中是放置「sqlite db」文件的正確位置?是否有可能將其打包到JAR文件中?

我試圖將我的應用程序打包到單個JAR文件(類似於Eclipse的FatJar),但我仍然遇到了這個錯誤。在這種情況下,我修改build.xml在本博客中解釋:
Netbeans single JAR

我也試過在src目錄下創建一個數據庫文件夾,然後把數據庫文件的文件夾(SRC /數據庫/數據庫中。分貝)和訪問它使用

DriverManager.getConnection("jdbc:sqlite:src/database/database.db"); 

我可以在netbeans內運行它。但是,當我在外面跑了,我得到這個錯誤:

path to 'src/database/database.db':C:\Windows\system32\src' does not exist 

我知道有類似的問題,這在計算器,但他們大多沒有一個具體的解決方案。讓我知道是否有人找到了更好的。

非常感謝。

回答

2

問題解決了!

我在執行JAR文件的方式上犯了一個錯誤。以前,我通過右鍵單擊它運行JAR文件並使用Java SE二進制打開它。我需要這樣做,因爲在我的電腦中,打開JAR文件的默認程序被設置爲另一個軟件。
原來,我必須將默認程序設置爲Java SE Binary,並雙擊JAR文件才能運行我的應用程序。使用這種方式我可以運行並訪問sqlite數據庫文件沒有問題。

我希望這可以幫助那些可能會遇到同樣問題的人。

0

可能您需要指出您的應用程序將您的應用程序基目錄包含在類路徑中。 運行你的應用程序的命令應該是這樣的:「-cp」

java -cp . YourAppMainClass 

的是命令選項,告訴Java來包括在classpath當前目錄。

+0

我已經解決了這個問題。感謝您的關注。 –

相關問題