# Gelöst: JavaDB - Derby Inhalt in Jar Datei speichern



## Master.of.Freaks (21. Nov 2008)

Hallo,

spiele jetzt schon eine ganze Weile mit Derby und habe das Beispiel mit dem Adressbuch von der Sun Homepage auch zum Laufen gebracht. Was mich jedoch stört das sich die Datenbank wieder außerhalb befindet. Wie muß ich die Sache konfigurieren, das er die Daten direkt im JAR File speichert?



```
private void setDBSystemDir() {
    	
    	// Datenbank wird direkt daneben abgelegt
    	System.setProperty("jdbc.drivers", "org.apache.derby.jdbc.EmbeddedDriver");
 

   	/* Datenbank wird im Homelaufwerk gespeichert
        String userHomeDir = System.getProperty("user.home", ".");
        String systemDir = userHomeDir + "/.addressbook";
        System.setProperty("derby.system.home", systemDir);
        
        // create the db system directory
        File fileSystemDir = new File(systemDir);
        fileSystemDir.mkdir();
        */
    }
```

Ziel ist es nachher das JAR File weiterzugeben inklusive der Daten ohne es extra nochmal irgendwo aus einem Verzeichnis ziehen zu müssen.


----------



## Gast (21. Nov 2008)

Ein Jar ist ein Archiv, kannst du nicht ändern, nur neu erstellen.

Würde dir empfehlen die externe Derby DB Datei zu belassen und mitzuliefern.


----------



## AlArenal (21. Nov 2008)

Er kann ja durchaus im JAR die leere DB mitliefern und beim ersten Anwendungsstart wohinkopieren, wo sie ab da dann "läuft".


----------



## Master.of.Freaks (21. Nov 2008)

Das Forum ist echt Klasse. In so kurzer Zeit schon zwei Antworten.

Mit der DB anlegen und kopieren würde sicherlich funktionieren, bringt mir aber nicht gewünschten Effekt, das ich das JAR File nachher verschicken kann und dort steht dann alles drin. Müßte dann auch jedesmal mit WinZip das JAR Ding öffnen die DB wieder einfügen, verpacken und verschicken.

Insofern gebe ich Gast schon fast recht als das man wahrscheinlich nichts reinschieben kann, weil es ein Archiv ist.


----------



## HoaX (21. Nov 2008)

das macht man ja auch nicht. ich hab auch noch keine native anwendung gesehn die ihre eigene exe abändert (viren mal ausgenommen ). abgesehen davon gibt es da z.B. unter windows auch probleme mit der zugriffsberechtigung solange das programm selbst noch läuft.

jedes "normale" programm liegt doch eh in seinem eigenen verzeichnis, also les doch die datenbank dort neben die jar und gut is. zur not kann der benutzer ja übers kontextmenü den ganzen ordner nochmal zippen vorm verschicken ...


----------



## Master.of.Freaks (21. Nov 2008)

Vielen Dank für die Antworten.

War wohl echt auf dem Holzweg.

Grüße 
Master.of.Freaks


----------

