2013-07-21 80 views
0

我有一個Java swing項目,我需要在其他計算機上測試。我有一些類和一個存儲登錄信息的sqlite數據庫。我也有一些lib罐子。應用程序從用戶處獲取信息並將其存儲在sqlite數據庫中,然後將數據推送到網絡。我想打包我的項目,以便使用我的項目的人只需雙擊可執行文件或jar即可。在Eclipse中打包我的項目

我試圖導出到Eclipse中運行的JAR文件,但這個並沒有給預期的效果。在創建可運行jar並且第一次運行它之後,它會在它旁邊創建sqlite數據庫並且不會連接到web鏈接併發送信息。

我怎樣才能妥善包裝我的數據? 這是我的文件夾結構 -


--src
----默認包
----休息包
----圖像
--lib
- -file.fcl
--db.sqlite

+0

您還沒有給予足夠的信息 - 你說「無法連接到該網絡連結」:它會崩潰?它是否提供錯誤信息?您是否創建了日誌文件或控制檯輸出,以便您可以看到來自代碼的消息?它看起來像你可以打包項目 - 它運行並創建數據庫 - 所以你有可能是一個程序錯誤。如果給出足夠詳細的信息,SO的我們可以幫助您找出具體的錯誤,但是如果沒有信息,我們就無法做到。 – arcy

+0

它在Eclipse中運行良好,沒有任何錯誤。創建可執行Jar後,它會執行,詢問用戶信息,並在任務欄中正常執行。 sqlite數據庫應該存在於jar中。它不應該創建一個。我的項目的最後一步是將數據記錄推入Web應用程序的數據庫。在這種情況下,它沒有,因爲我可以在我的本地主機看到沒有記錄插入。 :( – Dan

+0

i。從CMD執行它,並發現它是不能讀取FCL文件FCL文件是,我已經使用了一個包的一部分,則拋出錯誤。 - 錯誤讀取文件「file.fcl」廣東話負載文件'file.fcl' – Dan

回答

0

你運行的程序之外超越這個茶任何時間更新項目文件夾結構中的任何文件時,文件更改爲「不同步」。要使事情恢復同步,請右鍵單擊包資源管理器中的項目並選擇「刷新」(也可以在包資源管理器中選擇項目並按F5)。

如果您的代碼創建數據庫,而不是使用一個是存在的,它表明,我認爲你的數據庫位置設置爲您的Eclipse環境而不是一般情況。對於Java應用程序,您必須知道(或設置)「當前目錄」或「當前文件夾」 - 這是文件操作的默認文件夾,並且從中設置相關文件路徑。如果您當前的目錄是「aaa」,並且您在「bbb/ccc/ddd/database.db」中打開文件或數據庫,那麼「bbb」目錄必須位於「aaa」內,否則程序將無法找到該文件。

,而不必設置數據庫位置等運行您的程序,那麼你可能會想,以尋找你的程序文件存儲並設置目錄作爲當前目錄。 This SO answer表示您可能會這樣做。

+0

db.sqlite和file.fcl位於根目錄下。我在winrar中打開jar文件,發現sqlite文件和fcl文件都丟失了。 – Dan

相關問題