Ispirato da questa domanda:piattaforma Java: come gestire le impostazioni di configurazione per ogni sviluppatore
How to manage Configuration Settings for each Developer
Come posso gestire le impostazioni di configurazione dell'applicazione che devono essere impostati per ogni sviluppatore senza controllo in controllo del codice sorgente sulla piattaforma Java?
Ad esempio, questo è il genere di cose che stiamo facendo ora:
configurazione origine dati viene memorizzato in un file XML di configurazione di primavera.
Attualmente, ogni sviluppatore modifica il file e fa del suo meglio per non commettere quel file nel controllo del codice sorgente. Molti di noi hanno delle patch (file diff) che vengono applicate al codice prima di eseguire test sul nostro database locale e rimuovere la patch prima di controllare il codice. Altri sviluppatori modificano e ripristinano i file di configurazione a mano.
Purtroppo le patch non sono più aggiornate. A volte le persone dimenticano di ripristinare la configurazione locale prima di eseguire il commit.
La mia domanda, tuttavia, non è limitata alle impostazioni di connessione del database. Mi piacerebbe trovare una soluzione in cui ogni sviluppatore possa ignorare le impostazioni di configurazione dell'applicazione senza dover modificare i file controllati dal sorgente.
Se dobbiamo cambiare il modo in cui abbiamo memorizzato le impostazioni di configurazione, allora penso che dovremmo farlo (forse JNDI ?, file di configurazione esterni in un percorso ben noto ?, non so)
Cosa faresti/hai fatto?
Ho anche pensato di farlo. Maven usa un approccio simile: cerca un file $ MAVEN_HOME/settings.xml. Se non ce n'è, utilizza le impostazioni di configurazione. L'unico problema è come risolvere il problema multipiattaforma dei percorsi in Windows e * nix. Forse l'approccio alla variabile d'ambiente dell'utilizzo di $ MY_SYSTEM_HOME dovrebbe essere sufficiente. Grazie! –