我正在使用 JAVA(与 eclipse juno)并尝试创建一个包含 sqlite DB 文件的可执行 JAR 文件。 我试图通过这条线连接到数据库:
DriverManager.getConnection("jdbc:sqlite:"+DataController.class.getResource("test.sqlite").getPath())
DataController 是一个位于 sqlite 所在位置的类。
我一直收到错误:
java.sql.SQLException: invalid database address
有人可以提供有关如何将 sqlite 数据库包含在可执行 JAR 文件中的分步说明吗?
最佳答案
显然 sqlite-jdbc 可以自行打开资源。根据这个线程 https://groups.google.com/forum/?fromgroups=#!topic/xerial/Oayzj5nrJGk ,将 :resource 添加到路径中。所以请尝试以下操作:
DriverManager.getConnection("jdbc:sqlite::resource:package/test.sqlite");
或者取决于sqlite的版本
DriverManager.getConnection("jdbc:sqlite::resource:package/test.db");
将包替换为此文件所在包的“/”分隔路径。
请注意,它实际上会将文件复制到 tmp 目录。-
关于java - 将 sqlite 数据库添加到可执行 JAR 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15187043/