Como incluir o banco de dados SQLite no jar executável?
Eu criei um aplicativo Swing que usa o SQLite como um banco de dados local. O arquivo de banco de dados está localizado no diretório-raiz do projeto.
Project/DatabaseFile
O aplicativo é executado bem no Eclipse, mas quando eu executo o jar executável compactado, recebo o seguinte erro:
No such table : table1
Isso significa que o banco de dados não está acessível. Quando examinei o conteúdo do arquivo JAR resultante, o arquivo de banco de dados não estava mais lá.
No código, vinculei o banco de dados da seguinte maneira:
jdbc:sqlite:DatabaseFile
Minha pergunta é, como incluir o banco de dados SQLite no jar executável?
EDITAR
Quando coloquei o arquivo DB na pasta de origemProject/src/DatabaseFile
e mudou o caminho parajdbc:sqlite:src/DatabaseFile
, funcionou no Eclipse, mas novamente ao executar o arquivo Jar comojava -jar Project.jar
. Dizia:
path to 'src/DatabaseFile': 'C:\Users\name\src' does not exist
Eu acho que preciso especificar um caminho relativo para o banco de dados.
EDITAR
É assim que me conecto ao banco de dados:
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;
}