Jar文件无法读取sqlite数据库文件

时间:2019-05-08 17:59:45

标签: java sqlite javafx jar

我正在创建一个 JavaFX 应用程序,并对 sqlite数据库进行一些读写。

我使用创建与数据库文件的连接

connection = DriverManager.getConnection("jdbc:sqlite:test.db");,我将数据库文件放置在项目根目录中。

一旦我运行项目,它就会按预期工作。但是,当我构建jar文件并运行该文件时,当我尝试从数据库查询时,应用程序关闭。将db文件放置在jar文件的目录中不起作用。我认为问题在于存储数据库文件或读取数据库文件的方法。我已经看过Github page for sqlite-jdbc,它说到了一些保存文件的只读方法。但这对我来说没有意义。

因此,如果有人可以指导我解决这个问题,我将不胜感激。

1 个答案:

答案 0 :(得分:0)

我终于找到了解决方案。我在Github sqlite-jdbc上尝试了该方法,但没有成功。原来,我必须手动创建资源文件夹,并将其添加为 Intellij Idea IDE 的项目设置中的资源文件夹。然后我必须将连接定义为

connection = DriverManager.getConnection("jdbc:sqlite::resource:test.db");

并将 db 文件放入资源文件夹中。不同的IDE,添加资源文件夹的方法不同。当项目运行时,它将自动识别资源文件夹,系统会将数据库文件捆绑在 jar文件中。

相关问题