Как включить базу данных SQLite в исполняемый Jar?
Я создал приложение Swing, которое использует SQLite в качестве локальной базы данных. Файл базы данных находится в корневом каталоге проекта.
Project/DatabaseFile
Приложение отлично работает на Eclipse, но когда я запускаю упакованный исполняемый файл Jar, я получаю следующую ошибку:
No such table : table1
Это означает, что база данных недоступна. Когда я проверил содержимое полученного файла JAR, файла базы данных больше не было.
В этом коде я связал базу данных следующим образом:
jdbc:sqlite:DatabaseFile
У меня вопрос, как включить базу данных SQLite в исполняемый файл Jar?
EDIT
Когда я поместил файл БД в исходную папкуProject/src/DatabaseFile
и изменил путь кjdbc:sqlite:src/DatabaseFile
, он работал на Eclipse, но снова при запуске файла Jar какjava -jar Project.jar
, Он сказал:
path to 'src/DatabaseFile': 'C:\Users\name\src' does not exist
Я думаю, что мне нужно указать относительный путь для базы данных.
EDIT
Вот как я подключаюсь к базе данных:
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;
}