如何将 SQLite 数据库包含在可执行 Jar 中?
我创建了一个使用 SQLite 作为本地数据库的 Swing 应用程序。数据库文件位于项目的根目录中。
Project/DatabaseFile
该应用程序在Eclipse上运行良好,但是当我运行打包的可执行Jar时,我收到以下错误:
No such table : table1
这意味着数据库不可访问。当我检查生成的 JAR 文件的内容时,数据库文件已不存在。
在代码中,我按如下方式链接了数据库:
jdbc:sqlite:DatabaseFile
我的问题是,如何将SQLite数据库包含在可执行Jar中?
编辑
当我将 DB 文件放在源文件夹中并将路径更改为 时,它在 Eclipse 上工作正常,但在将 Jar 文件作为 运行时再次工作。它说:Project/src/DatabaseFile
jdbc:sqlite:src/DatabaseFile
java -jar Project.jar
path to 'src/DatabaseFile': 'C:\Users\name\src' does not exist
我认为我需要为数据库指定一个相对路径。
编辑
以下是我连接到数据库的方式:
public Connection getConnection(){
try{
Class.forName("org.sqlite.JDBC").newInstance();
con = DriverManager.getConnection("jdbc:sqlite:src/DatabaseFile");
} catch (Exception e) {
Log.fatal("Méthode: getConnection() | Class : SQLiteConnection | msg system : " + e.getMessage());
}
return con;
}