2015-04-23 17 views
22

Ho una classe principale che si aspetta determinate proprietà che passo usando l'opzione -D. Posso accedere a questo nel mio IDE inviandoli come opzioni VM.Come passare le proprietà di sistema in un file jar

Ho pacchetto questa applicazione in un file jar con Maven e quando provo il seguente:

java -jar myjar.jar -Denviroment=dev

o

java -jar myjar.jar "-Denvironment=dev"

La proprietà di sistema ambiente non è sempre preso.

Qualsiasi suggerimento su cosa sta succedendo?

+0

Sono stato in grado di capirlo. Solo così aiuta qualcun altro. Tutto quello che ho fatto è stato passare il -D prima del jar come mostrato di seguito: java -jar -Denvironment = dev myjar.jar (non sono sicuro di come questo possa fare la differenza!) – arjunj

+1

'-jar myjar.jar' dovrebbe essere aggiunto l'ultima volta tutti '-D' Vedi sotto la risposta – SashikaXP

risposta

40

Passare gli argomenti prima dello -jar. Se li si passa dopo il file jar, vengono interpretati come parametri della riga di comando e passati a String[] args in main. Mi piace,

java -Denviroment=dev -jar myjar.jar