Di solito quando si fa un nuovo progetto java, ci sono diversi file essenziali come il file delle proprietà log4j, altri file di proprietà e file di log e bisogna dire a java dove si trovano e dove si desidera salvare il file di registro.
Non voglio hardcode il percorso assoluto di questi file perché sto mettendo i progetti su macchine diverse in diverse fasi di sviluppo. Ad esempio, utilizzo Eclipse / PC in fase di sviluppo, Ant / Unix in UAT e Macchina di produzione.
Ecco la mia configurazione abituale:
Progetto: --src --costruire --conf --log --output
A mio avviso, le directory src e build sono incluse nel classpath e potrebbero essere lette subito da this.getClass().getClassLoader().getResource(".").getPath()
. Tuttavia, non esiste un metodo logico per individuare la directory Project a livello di codice.
Se trovassi la directory Project a livello di programmazione, potrei dire al programma che i file sono in $ {Project} / conf e salvare il file di log in $ {Project} / log.
Dovrei semplicemente usare uno script di shell per definire queste variabili prima di eseguire il programma?