# META-INF zur Laufzeit ändern



## abc24 (19. Dez 2007)

Hallo dem Forum,

ich habe eine Frage zur Änderung von META-INF Inhalten in einem Jar-File.

Ich habe eine J2EE-Applikation, welche im JBoss deployt ist. es ist eine ear-File mit einigen integrierten jar-Dateien.
In einem jar-File befinden sich einige eigene Konfigurationsdateien, die ich zur Laufzeit ändern muss. 

Wie geht das?

Ich Moment versuche ich via URL configURL = this.getClass().getClassLoader().getResource(xmlConfiguration); die Datei zur Ermitteln und zu aktualisieren. Da JBoss diese aus dem deploy/tmp-Verzeichnis startet, kann ich auf diese Datei configURL.getFile() nicht zugreifen. Ich muss die Änderung also im deploy-Verzeichnis selbst machen. 

Wie wird der Pfad dynamisch ermittelt und wie geschrieben?

Vielen Dank für Eure Hilfe.

Markus


----------



## ms (19. Dez 2007)

Konfigurationsdatein sollten aus genau diesem Grund außerhalb deines ear-Files liegen.
Am besten im conf-Verzeichnis.

ms


----------



## abc24 (19. Dez 2007)

Danke, für die schnelle Antwort. Wenn dies, wie von Dir beschrieben, die Lösung ist, setze ich dies so um. 
Mir war nicht klar, dass man das Integrieren von Configs in das META-INF unterlassen sollte. 

Wie komme ich zur Laufzeit dynamisch an das conf-Verzeichnis!

Markus


----------



## maki (19. Dez 2007)

Vielleicht hilft es, wenn du beschreibst was du vorhast bzw. warum deine Anwendung die Konfigurationsdateien dynamisch ändern soll.


----------



## abc24 (19. Dez 2007)

Also die Konfigurationsdatei beinhaltet einige Einstellungen die von der Applikation zur Laufzeit geladen werden. 
Diese Konfiguration liegt als XML-Datei vor und wird mit Hilfe von JaxB gelesen. Zuvor habe ich anhand des Schemas per XJC die Java-Klassen zum Lesen und Schreiben generieren lassen. 

Zur Laufzeit kann man auf alle Anwendungseinstellungen über ein Web-Frontend zugreifen (implementiert mit JSF und IceFaces) und diese erweitern bzw. ändern. Diese Änderungen werden dann von der WebSite an den Server übermittelt und müssen nun in das Konfig-File. Diese möchte ich dann mit Hilfe von JAXB neu erstellen und in das alte Konfig-File serialisieren.

Bisher leigt das File im META-INF -> nun würde ich es nach Eurer Beschreibung ins COnf-Dir vom JBOss packen!


----------

