[英]Access H2 Database from application contained in a JAR File
我有一個使用H2數據庫和以下連接字符串的應用程序:
Connection connection = DriverManager.getConnection("jdbc:h2:file:data/sample", "sa", "");
它在Eclipse下運行良好,但是,如果將Java Desktop應用程序打包在JAR文件中,它將無法再在數據/樣本中找到H2數據庫。 這是運行目錄:
application.jar
data |
sample.h2.db
這是我嘗試執行應用程序的方法:
java -classpath .; -jar application.jar
由於未找到表而引發SQLException。 有什么提示可以讓Connection如何運行到Eclipse中以及JAR文件中嗎?
請注意,作為要求,我不應為數據庫使用絕對路徑,而應使用相對路徑,因為應用程序安裝程序會將數據庫文件夾與jar文件一起解壓縮。
我可以考慮一些可能的錯誤原因:
對於第二種可能性,如果H2找不到新數據庫,它將自動創建一個新數據庫。 為了避免在路徑錯誤時自動創建,可以在URL中添加;IFEXISTS=TRUE
: "jdbc:h2:file:data/sample;IFEXISTS=TRUE"
。 但是,如果可以,請避免相對路徑...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.