我创建了一个使用SQLite作为本地数据库的Swing应用程序。数据库文件位于项目的根目录中。
Project/DatabaseFile
应用程序在Eclipse上运行正常,但是当我运行打包的可执行文件Jar时,会收到以下错误:
No such table : table1
这意味着数据库不可访问。当我检查结果JAR文件的内容时,数据库文件不再存在了。
在代码中,我已经链接数据库如下:
jdbc:sqlite:DatabaseFile
我的问题是,如何将SQLite数据库包含在可执行文件Jar中?
编辑
当我将数据库文件放在源文件夹Project / src / DatabaseFile中并将路径更改为jdbc:sqlite:src / DatabaseFile时,它在Eclipse上工作,但在Jar文件作为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;
}