Domanda

Voglio aggiungere alcune configurazioni al classpath (generato da Maven-jar-plugin), ma io non li voglio all'interno di un barattolo, ma in una cartella esterna. In questo modo sarò in grado di modificare i file di configurazione, senza riconfezionamento. Ho trovato una soluzione Come aggiungere una voce di percorso di classe quando si esegue l'applicazione con exec plug , ma c'è una soluzione meno complicata?

O forse mi sbaglio ed è un cattivo modello - memorizzare file di configurazione nel percorso di classe, ma fuori di un vaso? Forse è meglio file di configurazione app store nella directory home dell'utente e aggiungerli alla applicazione in fase di esecuzione?

Per esempio io voglio permettere all'utente finale di modificare log4j.properties e traduzioni.

Saluti,

È stato utile?

Soluzione

mi piacerebbe suggeriamo di avere una posizione predefinita che sembra per il file di configurazione app (ad esempio la home directory dell'utente, come lei ha suggerito), ma permettono all'utente di fornire una / proprietà agrument sistema per ignorare questa posizione. Supponendo di guardare il classpath non è, a mio parere, la migliore soluzione, dal momento che il concetto di un percorso di classe è una cosa abbastanza estraneo alla maggior parte degli utenti, e può anche essere difficile da determinare per alcuni programmatori.

Altri suggerimenti

Credo che Melv è giusto - meglio memorizzare file di configurazione nella directory home e fornire capacità di cambiare, ma se qualcuno ha bisogno di aggiungere qualcosa al classpath - si può solo aggiungere seguente codice in <configuration><archive>

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

Se si dichiara <addClasspath>true</addClasspath>, quindi percorsi di classe di dipendenza anche verrà aggiunto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top