2015-04-23 88 views
22

Mam klasę główną, która oczekuje pewnych właściwości, które przekazuję przy użyciu opcji -D. Mogę uzyskać do niego dostęp w moim IDE, wysyłając je jako opcje VM.Jak przekazywać właściwości systemowe do pliku JAR

I Pakiet ten wniosek do pliku jar przy użyciu Maven i kiedy spróbuj:

java -jar myjar.jar -Denviroment=dev

lub

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

Obiekt System środowisko nie jest uzyskiwanie zabierani.

Jakieś wskazówki na temat tego, co się dzieje?

+0

Udało mi się to ustalić. Po prostu pomaga komuś innemu. Wszystko co zrobiłem to przekazać -D przed słojem, jak pokazano poniżej: java -jar -Denvironment = dev myjar.jar (nie jestem pewien jak to by miało znaczenie!) – arjunj

+1

'-jar myjar.jar' powinien być dodany ostatni po wszystkie '-D' Patrz poniżej odpowiedź – SashikaXP

Odpowiedz

40

Przekaż argumenty przed -jar. Jeśli przekażesz je po pliku JAR, zostaną zinterpretowane jako parametry wiersza polecenia i przekazane do String[] args w main. Podobało mi się,

java -Denviroment=dev -jar myjar.jar