SQLite Ausführbares Jar mit SQLite DB

search@info

Mitglied
Hi,

zur Zeit versuche ich mein Eclipse-Projekt mit einer SQLite DB zu exportieren.
Innerhalb von Eclipse funktioniert der DB-Aufruf einwandfrei, nur wenn ich es als jar exportiere werden keine Daten aus der DB gelesen.

Ich habe folgende Schritte durchgeführt:
-sqlitejdbc-v056.ar als lib hinzugefügt
- class path erweitert: Class-Path: sqlitejdbc-v056.jar
-DB liegt auf der höchsten Ebene von Projekt
- Aufruf der DB:

Java:
public Object openDBConnection() {
		// Open DB Connection and set connection object
		try {
			try {
				Class.forName("org.sqlite.JDBC");
				Connection conn = DriverManager
						.getConnection("jdbc:sqlite:ssdlab.db");

				return conn;
			} catch (ClassNotFoundException e) {
				e.printStackTrace();
				return null;
			}

		} catch (SQLException e) {
			e.printStackTrace();
			return null;
		}
	}


Da ich gelesen habe, dass es Probleme mit dem Aufruf von Klassen aus einem Jar in ein anderes Jar gibt habe ich daraufhin die manifest wie oben geschrieben erweitert, aber das war leider nicht die Lösung, nur, dass ich keine Fehlermeldung mehr beim Erstellen des Jars bekomme.
Auch ein Aufruf über die Konsole hat nicht zum Ziel geführt, es kommt die Fehlermeldung, dass die Hauptklasse nicht gefunden werden konnte.
java -classpath ".:sqlite-jdbc-v056.jar" search-version2.jar
Wenn ich nur search-version2.jar ausführe, dann startet das Programm, aber es werden eben keine Werte aus der DB gelesen.
Auch habe ich gelesen, dass man das sqlite jar entpacken soll, damit es kein jar-jar Aufruf mehr ist, aber ich freue mich, wenn ihr vieleicht eine Idee habt, wie ich es auch ohne Ordnungsgemäß laufen lassen kann.

Vielen Dank schonmal im Vorraus!
 
Hi,

ah ich verstehe, dann müssen mein jar, das sqlite jar und die DB in der gleichen Ebene liegen.
Ich habe das ausprobiert und es geht 🙂
Also geht es nicht, wenn die DB und das sqlite jar innhalb meines neu erstellten Jars liegen?

Viele Grüße und vielen Dank für dein Feedback!
 
Zuletzt bearbeitet:
Hi,

mit dem Eclipse Pugin FatJAR konnte ich schonmal mein Jar und das von Sqlite zusammen packen.
Nur noch die DB muss außerhalb auf der gleichen Ebene liegen.
Kann man den DB Aufruf noch irgendwie ändern, dass das nicht mehr nötig ist?

Java:
Class.forName("org.sqlite.JDBC");
				Connection conn = DriverManager
						.getConnection("jdbc:sqlite:ssdlab.db");

Viele Grüße
 

Zurück
Oben