Неправильный путь к базе SQLIte при создании jar
При создании jar на рабочем столе приложение не работает и пишет в блоке catch:
"path to 'sqlite\form4.db': 'C:\Users\Avandy\Desktop\sqlite' does not exist "
однако при перемещении jar в рабочую папку программы где лежит база SQLite - подключение происходит, всё работает. Вот код подключения к базе:
static void connect() {
try {
Class.forName("org.sqlite.JDBC");
co = DriverManager.getConnection("jdbc:sqlite:sqlite\\form4.db");
co.setAutoCommit(false);
} catch (SQLException | ClassNotFoundException e) {
System.out.println(e.getMessage());
}
}
Прошу подсказать как собрать проект так, чтобы jar был неважно где, а путь к базе был прописан конкретно. Может быть дело в переменной окружения, где я прописал в CLASSPATH ";."?
Ответы (2 шт):
Можете задавать путь на диске прямо в коннекшен-стринге. Например так:
jdbc:sqlite:C:/YOUR_PATH/form4.db
Получилось, когда написал название BD без указания пути - "jdbc:sqlite:form4.db". При запуске jar в этой же папке была создана база form4.db и form4.db-journal, который исчез после закрытия