Frage

Ich möchte dem Klassenpfad einige Konfigurationen hinzufügen (generiert von Maven-Jar-Plugin), aber ich möchte sie nicht in einem Glas, sondern in einem externen Ordner. Auf diese Weise kann ich Konfigurationen bearbeiten, ohne neu zu verpacken. Ich habe eine Lösung gefunden So fügen Sie einen Klassenpfadeintrag hinzu, wenn Sie die App mit dem Exec -Plugin ausführen Aber gibt es eine weniger komplizierte Lösung?

Oder vielleicht irre ich mich und es ist ein schlechtes Muster - das Speichern von Konfigurationen im Klassenpfad, aber außerhalb eines Glass? Vielleicht ist es besser, App -Konfigurationen im Heimverzeichnis des Benutzers zu speichern und zur Laufzeit zur App hinzuzufügen?

Zum Beispiel möchte ich dem Endbenutzer erlauben, log4j.properties und Übersetzungen zu bearbeiten.

Grüße,

War es hilfreich?

Lösung

Ich würde vorschlagen, einen Standardstandort zu haben, an dem es nach den App -Konfigurationen sucht (z. B. das Verzeichnis des Benutzer -Home -Verzeichnisses, wie Sie vorgeschlagen haben), dem Benutzer jedoch ermöglichen, eine Agrument-/System -Eigenschaft bereitzustellen, um diesen Ort zu überschreiben. Angenommen, es ist meiner Meinung nach nicht die beste Lösung, da das Konzept eines Klassenpfads für die meisten Nutzer nicht die beste Lösung ist und für einige Programmierer sogar schwer zu bestimmen ist.

Andere Tipps

Ich denke, dass MELV Recht hat - besser zu speichern Konfigurationen im Home -Verzeichnis und die Möglichkeit, sie zu ändern. Wenn jemand dem ClassPath etwas hinzufügen muss - können Sie einfach den folgenden Code hinzufügen <configuration><archive>.

<manifestEntries>
    <Class-Path>config/</Class-Path>
    <mode>development</mode>
    <url>${pom.url}</url>
</manifestEntries>

Wenn Sie deklarieren <addClasspath>true</addClasspath>, Dann werden auch Abhängigkeitsklassenpfade hinzugefügt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top