【问题标题】:How to include sqlite db file into jar in netbeans?如何将 sqlite db 文件包含到 netbeans 中的 jar 中?
【发布时间】:2011-12-03 01:07:36
【问题描述】:

我在我的 java 应用程序中使用 sqlite。当我从 Netbeans 运行它时,它运行良好。 sqlite db 文件位于项目根目录(与 build.xml 同级)。
这是访问数据库文件的代码:

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 目录中创建一个数据库文件夹,然后将 db 文件放入该文件夹 (src/database/database.db) 并使用

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

我可以在 netbeans 中运行它。但是当我在外面运行它时,我得到了这个错误:

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

我知道 stackoverflow 中也有类似的问题,但大多数都没有具体的解决方案。让我知道是否有人找到了更好的。

非常感谢。

【问题讨论】:

    标签: java sqlite netbeans jar


    【解决方案1】:

    问题解决了!

    我在执行 JAR 文件的方式上犯了一个错误。以前我通过右键单击它运行 JAR 文件并使用 Java SE 二进制文件打开它。我需要这样做,因为在我的 PC 中打开 JAR 文件的默认程序被设置为另一个软件。
    事实证明,我必须将默认程序设置为 Java SE Binary,然后双击 JAR 文件才能运行我的应用程序。使用这种方式,我可以毫无问题地运行和访问 sqlite db 文件。

    我希望这可以帮助可能遇到与我相同问题的其他人。

    【讨论】:

      【解决方案2】:

      您可能需要将您的应用程序指向类路径中包含您的应用程序基目录。 运行你的应用的命令应该是这样的:

      java -cp . YourAppMainClass
      

      “-cp .”是告诉 java 在类路径中包含当前目录的命令选项。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-08-29
        • 2020-10-03
        • 2015-04-22
        • 1970-01-01
        • 1970-01-01
        • 2011-01-22
        • 2014-09-27
        • 1970-01-01
        相关资源
        最近更新 更多