2009-06-08 2 views
4

Gibt es eine Möglichkeit, die Eigenschaftswerte in einer Properties-Datei zu ändern, die in einer Jar-Datei als Ressource gespeichert ist?In Java-Eigenschaftendatei schreiben, die als Ressource in einer Jar-Datei enthalten ist

Dies ist das Szenario, das ich versuche zu behandeln. Ich habe eine Eigenschaftendatei als Ressource in meiner Jar-Datei gespeichert. Es gibt einige systemspezifische Eigenschaften, z. B. Pfade. Ich möchte das für das System ändern können, auf dem die Jar-Datei ausgeführt werden soll.

Die beste Lösung wäre, eine interne Klasse/Methode für die Jar-Datei aufzurufen, die die im Jar enthaltene Ressourcendatei ändert. Eine andere Lösung wäre, ein Dienstprogramm für die Jar-Datei auszuführen, das die Eigenschaftendatei ändert und alles neu vergibt. Dies wird ein einmaliger Setup-Prozess sein, den ich auf der Jar-Datei ausführen werde.

Antwort

3

Verwenden Sie die Einstellungen API-Änderungen zu speichern: http://java.sun.com/j2se/1.5.0/docs/api/java/util/prefs/package-frame.html

bearbeiten nach dem erneuten Lesen der Frage: Sie sind in einer Situation, wo Sie die JAR-Datei möglicherweise viele Menschen auszusenden wollen und haben es bei der Installation angepasst werden? Wenn ja, dann ist Prefs der richtige Weg.

Wenn Sie stattdessen für eine relativ kleine Anzahl von Bereitstellungen anpassen möchten, ist es wahrscheinlich besser, die Anpassung während der Erstellung vorzunehmen.

+0

Danke für die Antwort. Meine Situation ist ähnlich wie bei Ihrem ersten Szenario. Ich schaue mir gerade die Einstellungen an. –

1

Ich denke, dass Sie die Apache Commons Configuration project des Gebrauches finden können.

Sie können dies einrichten, um Eigenschaftendateien zu verwenden und das Konzept einer system and a user properties file zu haben. Sie können dann in Ihrer Systemeigenschaftendatei bereitstellen, und dies wird von der Benutzereigenschaftendatei überschrieben. Durch das Schreiben einer Eigenschaft wird die Benutzereigenschaftendatei geändert.

So stellen Sie die Systemeigenschaftendatei mit Ihren Standardeinstellungen bereit, und Änderungen werden in der übergeordneten Benutzereigenschaftendatei beibehalten. Ich habe das in der Vergangenheit für genau das verwendet, was Sie tun, und es funktioniert sehr gut. Es gibt eine Vielzahl von Möglichkeiten, diese Bibliothek zu konfigurieren. Es lohnt sich daher, sich die Beispiele und FAQs anzusehen.

+0

Danke für die Info. Ich werde dies bei zukünftigen Projekten berücksichtigen. –

Verwandte Themen