JDBC: Relative Pfadangabe in JAR

eLogic

Aktives Mitglied
Hallo Forum,

ich habe ein Problem:

Ich will eine Verbindung mit einer Datenbank herstellen die sich in der JAR befinden soll.
Ich habe die db in ein Ordner /ext erstellt, und den Ornder dem BuildPath hinzugefügt.

Java:
	Connection cn = DriverManager.getConnection("JDBC:SQLITE:/c:/db.sqlite, "", "" );

wenn ich einen Absoluten Pfad angebe funktioniert alles, aber wie gebe ich die DB Relativ an?

wenn ich das hier dranhänge dann kopiert er immer die db leer raus:

Java:
private String getDbPath() throws InterruptedException{
		URL pfadLocation;
		String returner;
			pfadLocation = ClassLoader.getSystemResource("db.sqlite");
			returner = pfadLocation.getFile().toString().replace("file:/","");

		return "jdbc:sqlite:"+returner;
	}

// ============
	Connection cn = DriverManager.getConnection(getDbPath(), "", "" );
 

nrg

Top Contributor
Wie sieht dein Class-Path in der MANIFEST.MF aus?

Entweder müsste das aktuelle Verzeichnis hinzugefügt sein:
Class-Path: .
Pfadangabe in Sourcecode: ./ext/Dateiname

Oder das Verzeichnis ext:
Class-Path: ./ext
Pfadangabe in Sourcecode: ./Dateiname
 
M

maki

Gast
Was gibt dir folgender Code aus?
[c]getClass.getProtectionDomain().getCodeSource().getLocation().toURI()[/c]

URLs soltle man nie direkt in einen String umwandeln, sondern erst über eine URI gehen (toURI), dann musst du auch kein [c]file:[/c] rauswerfen.
 

eLogic

Aktives Mitglied
Was gibt dir folgender Code aus?
[c]getClass.getProtectionDomain().getCodeSource().getLocation().toURI()[/c]

Java:
System.out.println(getClass.getProtectionDomain().getCodeSource().getLocation().toURI());

getClass ist rot unterkringelt =)


Wenn ich die db jetzt über
Java:
Connection cn = DriverManager.getConnection("jdbc:sqlite:"+ClassLoader.getSystemResource("db.sqlite").toURI().getPath());

einbinde, funktioniert es in der IDE, wenn ich es aber als Jar exportiere, bekomme ich "null" zurück?
 
Zuletzt bearbeitet:
M

maki

Gast
[c]DeineKlasse.class.getProtectionDomain().getCodeSource().getLocation().toURI()[/c]

Wenn du die Db in die Jar reinpackst bekommst du sowieso Probleme.
 
M

maki

Gast
Neben die Jar sollte die DB gelegt werden ;)

Mit dem Code bekommst du ja zumindest mal den Pfad der Jar bzw. der Klassen, von dort aus kannst du ja dann einen relativen Pfad angeben.
Solltest das aber eben unbedingt sowohl in Eclipse aber auch als Jar testen.
 

eLogic

Aktives Mitglied
Wenn ich das dann in einen Absoluten Pfad umwandle mit c:/bla.jar!db.sqlite
funktioniert das nicht der kopiert mir die dann jedes mal wieder raus und legt sie eben neben die Jar...

Ich muss später wenn ich das fertig habe noch einstellungen mit properties machen... soll ich die dann auch neben die jar legen?
Kan ich die nicht in dei jar mit einbinden?

Wenn ich mein Programm dann verteilen will muss ich ja einen ganzen Ordner abgeben, statt eine Jar?
 
M

maki

Gast
Kan ich die nicht in dei jar mit einbinden?
Nein.

1. Man kann laufende JArs nicht ändern.
2. Jars sind Zip dateien, Zip dateien können nicht geändert werden sondern müssen neu erzeugt werden.

Wenn ich mein Programm dann verteilen will muss ich ja einen ganzen Ordner abgeben, statt eine Jar?
Kommt darauf an.
- Deine Jar könnte prüfen ob schon eine DB & Properties im Ordner leigen, wenn nicht -> neu anlegen.
- Du verteilst ein Ziparchiv das nur entpackt werden muss oder gleich über einen installer
 

Atze

Top Contributor
selbst wenn du das mit dem lesen aus der jar hinbekommst, spätestens beim schreiben in die db, die in der jar liegt, wirds schwierig :)
 
M

maki

Gast
?

Ein Installer ist ein Programm (oft mit GUI) welches Software auf einem Rechner installiert, die Luxusvariante eines entpackten Archives eben.
 

eLogic

Aktives Mitglied
:D Okey so genau wollt ich das auch nicht erklärt haben =)

Ich meine gibt es irendwie vorgefertigte Module dafür oder muss man alles selber Programmieren?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
A JDBC EmbeddedDriver Java Basics - Anfänger-Themen 1
C No suitable driver found for jdbc:odbc:mysql Java Basics - Anfänger-Themen 8
D JDBC wie ermittle ich den Driver? Java Basics - Anfänger-Themen 26
A Java - JDBC SQL Java Basics - Anfänger-Themen 2
A Junit Test für MysqlDataSource JDBC Java Basics - Anfänger-Themen 3
B MySQL (jdbc) -> connection liefert NULL Java Basics - Anfänger-Themen 3
F Warum erhalte ich diese Fehler bei der Einbindung von SQLite JDBC in Eclipse? Java Basics - Anfänger-Themen 1
Vince42 Java 8 JDBC / OLE DB Java Basics - Anfänger-Themen 15
O JDBC Ungültiger Spaltenindex Java Basics - Anfänger-Themen 19
K JDBC - Wie ist Fehlermeldung zu interpretieren Java Basics - Anfänger-Themen 3
B Java Datenbankverbindungsfähigkeit - JDBC Java Basics - Anfänger-Themen 1
D Was genau ist JDBC? Java Basics - Anfänger-Themen 2
P Classpath jdbc-Treiber kann nach export in jar-File nicht mehr geladen werden Java Basics - Anfänger-Themen 2
M JDBC SQL Problem Java Basics - Anfänger-Themen 5
K org.h2.jdbc.JdbcSQLException: Keine Daten verfügbar Java Basics - Anfänger-Themen 9
J Oracle JDBC Driver funktioniert nur in einer Klasse Java Basics - Anfänger-Themen 2
F Erfassung von PCs in eine SQLite-Datenbank über JDBC Java Basics - Anfänger-Themen 9
S JDBC MySQL Connector - Element mit ' eintragen? Java Basics - Anfänger-Themen 4
D JDBC Datenbank fail?! Java Basics - Anfänger-Themen 20
R JDBC leeres ResultSet Problem Java Basics - Anfänger-Themen 2
J Java JDBC MySQL Query Java Basics - Anfänger-Themen 6
X JDBC installieren Java Basics - Anfänger-Themen 2
F JDBC - ClassNotFoundException Java Basics - Anfänger-Themen 3
J jdbc driver on linux ? Java Basics - Anfänger-Themen 11
lenniii DB Basics (JDBC-Treiber) Java Basics - Anfänger-Themen 16
P Servlets und JDBC Java Basics - Anfänger-Themen 2
B JDBC DB2 Connection Java Basics - Anfänger-Themen 1
C OOP JDBC: Ausgabe ResultSet nach Select Java Basics - Anfänger-Themen 3
P JDBC für anfänger Java Basics - Anfänger-Themen 16
D Probleme mit jdbc Java Basics - Anfänger-Themen 9
T JDBC Problemchen Java Basics - Anfänger-Themen 2
B JDBC Treiber lokal installieren ? Java Basics - Anfänger-Themen 2
B JDBC: Bereits in der DB vorhandene Abfrage ausführen Java Basics - Anfänger-Themen 7
G Oracle SQL JDBC in Eclipse laden Java Basics - Anfänger-Themen 2
G Maven Dependency für Oracle JDBC-Driver korrekt festlegen Java Basics - Anfänger-Themen 4
G JDBC - Classpath - Ich werd wahnsinnig! Java Basics - Anfänger-Themen 18
J Fehler bei MySql Anbindung mit JDBC Java Basics - Anfänger-Themen 4
G welche Java-Technologie für JDBC geeignet Java Basics - Anfänger-Themen 6
N JDBC Problem Java Basics - Anfänger-Themen 5
M Datenbankzugriff via JDBC Java Basics - Anfänger-Themen 8
S JDBC und NullpointerException Java Basics - Anfänger-Themen 5
S JDBC Verbindungen Java Basics - Anfänger-Themen 2
M JDBC Treiber LGPL Java Basics - Anfänger-Themen 11
D JDBC Treiber unter dem Java Application Server Java Basics - Anfänger-Themen 6
J java und jdbc mit access Java Basics - Anfänger-Themen 3
J JDBC Crash Kurs Java Basics - Anfänger-Themen 3
D Einige Fragen zu Java Java2D JDBC usw. XD Java Basics - Anfänger-Themen 13
D Kleines Problem mit JDBC Java Basics - Anfänger-Themen 2
T SWT-Tabelle aus JDBC füllen Java Basics - Anfänger-Themen 8
C jdbc Anfänger Tutorial gesucht Java Basics - Anfänger-Themen 19
H JDBC in den Klassenpfad eintragen Java Basics - Anfänger-Themen 4
J jdbc getTableName Java Basics - Anfänger-Themen 12
R JDBC Verbindung geht nicht Java Basics - Anfänger-Themen 4
S Problem mit JDBC und Transaktion Java Basics - Anfänger-Themen 12
G hilfe jsp/servlet,jdbc api running on tomcat server+webProxy Java Basics - Anfänger-Themen 8
K JDBC - Typ Connection in jeder Klasse neu öffnen? Java Basics - Anfänger-Themen 4
A JDBC modular Java Basics - Anfänger-Themen 2
megachucky nochmal JDBC. komme nicht weiter. Java Basics - Anfänger-Themen 4
megachucky JDBC-Grundlagen: Verständnisprobleme Java Basics - Anfänger-Themen 31
Kiki01 Wie würde eine geeignete Schleife aussehen, die die relative Häufigkeit für jeden Charakter in einem Text bestimmt? Java Basics - Anfänger-Themen 3
C Datei über relative Pfade einlesen Java Basics - Anfänger-Themen 6
Piwi Relative Pfadangabe bei Bildern Java Basics - Anfänger-Themen 2
Das Brot Relative Pfadangaben innerhalb von .jar Archiven Java Basics - Anfänger-Themen 7
D relative Pfadangabe auf überverzeichnis Java Basics - Anfänger-Themen 3
S Relative Pfadangabe funzt nicht Java Basics - Anfänger-Themen 2
A relative Pfadangabe in jars Java Basics - Anfänger-Themen 2
B Relative/Absolute Pfadangabe. Wie unterscheiden? Java Basics - Anfänger-Themen 4
M relative Pfadangabe beim laden von properties Datei Java Basics - Anfänger-Themen 4
G relative Pfadangabe Java Basics - Anfänger-Themen 3
J relative pfade windows/unix Java Basics - Anfänger-Themen 12
C Absolute Cursor Position oder doch relative? Java Basics - Anfänger-Themen 4
F Relative Pfade zu Fenster-Icon in Main-Methode? Java Basics - Anfänger-Themen 7
E relative häufigkeit berechnen funktioniert nicht Java Basics - Anfänger-Themen 7
V wieder mal "relative Pfadangabe" Java Basics - Anfänger-Themen 4
E Relative Pfadangaben Java Basics - Anfänger-Themen 5
A Pfadangabe Datei senden Java Basics - Anfänger-Themen 14
S Pfadangabe Java Basics - Anfänger-Themen 26
A Datentypen String - Probleme bei Pfadangabe Java Basics - Anfänger-Themen 14
Q Pfadangabe für zu speichernde Bilder Java Basics - Anfänger-Themen 2
L Input/Output FileReader Pfadangabe Java Basics - Anfänger-Themen 7
D Pfadangabe unter windows Java Basics - Anfänger-Themen 7
K Richtige Pfadangabe einer Textdatei Java Basics - Anfänger-Themen 7
M Jpg und wav datei pfadangabe bei Runnable Jar file Java Basics - Anfänger-Themen 2
J FileOutputStream richtige Pfadangabe? Java Basics - Anfänger-Themen 8
Strahlungsleck [gelöst]File Pfadangabe funktioniert nicht mit Servername/IP Java Basics - Anfänger-Themen 2
T öffnen einer Datei mit relativer Pfadangabe Java Basics - Anfänger-Themen 8
G Pfadangabe? Java Basics - Anfänger-Themen 2
G Jar archiv Pfadangabe! Java Basics - Anfänger-Themen 5
L Datenbankanbindung ODBC falsche pfadangabe? Java Basics - Anfänger-Themen 3
G zusätzliche "" bei Pfadangabe z.B. bei FileReader Java Basics - Anfänger-Themen 2
F Leerzeichen in Pfadangabe beim Befehl exec() Java Basics - Anfänger-Themen 5
M Laden eines Image mit relativer Pfadangabe Java Basics - Anfänger-Themen 3
E Laufwerksangabe aus Pfadangabe (String) filtern Java Basics - Anfänger-Themen 10
G Problem mit Vector() + Pfadangabe + Linux Java Basics - Anfänger-Themen 8
S JTree valueChanged() Ausgabe leider immer mit Pfadangabe! Java Basics - Anfänger-Themen 4
M Pfadangabe zu ORDNER von Klassenverzeichnis aus? Java Basics - Anfänger-Themen 3
bernd Richtige Pfadangabe für das Kopieren von Dateien Java Basics - Anfänger-Themen 10
M Pfadangabe Windows / Linux Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben