Я создал приложение 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;
}