Я создал приложение Swing, которое использует SQLite в качестве локальной базы данных. Файл базы данных находится в корневом каталоге проекта.
Project/DatabaseFile
Приложение отлично работает в Eclipse, но когда я запускаю упакованный исполняемый файл Jar, я получаю следующую ошибку:
No such table : table1
Это означает, что база данных недоступна. Когда я просмотрел содержимое получившегося файла JAR, файла базы данных там больше не было.
В коде я связал базу данных следующим образом:
jdbc:sqlite:DatabaseFile
Мой вопрос: как включить базу данных SQLite в исполняемый файл Jar?
РЕДАКТИРОВАТЬ
Когда я поместил файл DB в исходную папку 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;
}