【问题标题】:Jar file cannot read the sqlite database filejar 文件无法读取 sqlite 数据库文件
【发布时间】:2019-09-26 12:47:33
【问题描述】:

我正在创建一个 JavaFX 应用程序,其中包含一些对 sqlite 数据库的读写操作。

我创建了到数据库文件的连接,

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

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

所以如果有人能指导我解决这个问题,我非常感激。

【问题讨论】:

    标签: java sqlite javafx jar


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2014-12-06
      • 2016-08-29
      • 2017-11-08
      • 2018-01-18
      • 1970-01-01
      • 2014-11-11
      • 2014-08-30
      • 2021-03-05
      • 1970-01-01
      相关资源
      最近更新 更多