Wie kann ich SQLite-Datenbank in ausführbares Jar einbinden?
Ich habe eine Swing-Anwendung erstellt, die SQLite als lokale Datenbank verwendet. Die Datenbankdatei befindet sich im Stammverzeichnis des Projekts.
Project/DatabaseFile
Die Anwendung läuft auf Eclipse einwandfrei, aber wenn ich die gepackte ausführbare Jar-Datei ausführe, wird die folgende Fehlermeldung angezeigt:
No such table : table1
Dies bedeutet, dass die Datenbank nicht erreichbar ist. Als ich den Inhalt der resultierenden JAR-Datei untersuchte, war die Datenbankdatei nicht mehr vorhanden.
Im Code habe ich die Datenbank wie folgt verknüpft:
jdbc:sqlite:DatabaseFile
Meine Frage ist, wie man die SQLite Datenbank in das ausführbare Jar einschließt?
BEARBEITEN
Als ich die DB-Datei in den Quellordner gelegt habeProject/src/DatabaseFile
und änderte den Pfad zujdbc:sqlite:src/DatabaseFile
, es funktionierte bei Eclipse aber wieder beim Ausführen der Jar-Datei alsjava -jar Project.jar
. Es sagte:
path to 'src/DatabaseFile': 'C:\Users\name\src' does not exist
Ich denke, ich muss einen relativen Pfad für die Datenbank angeben.
BEARBEITEN
So verbinde ich mich mit der Datenbank:
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;
}