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