Próbuję uzyskać System.getenv()
, aby uzyskać wartość zmiennej środowiskowej ustawionej przez mój terminal (Mac), ustawię również zmienną w moim pliku .bash_profile i ponownie załadowany. Po wykonaniu tej czynności wyświetliłem echo wartości i poprawną wartość wydrukowano na terminalu. Gdy próbuje pobrać wartość zmiennej (I upewnił się, że był przy użyciu poprawnej nazwy zarówno w moim pliku .bash_profile i przy użyciu System.getenv()
.System.getenv() zwraca null, gdy istnieje zmienna środowiskowa
W poniższym kodzie, jakie otrzymuje nazwę zmiennej z var_name:
String varValue = System.getenv("VAR_NAME");
System.out.println("Value: " + varValue);
W moim bash_profile.
export VAR_NAME="foo"
"null" jest drukowany kiedy wydrukować wartość varValue
Co może być tego przyczyną?
Edytuj: Podążyłem za najlepszą odpowiedzią here, zrestartowałem Eclipse i zadziałało!
Jak działa aplikacja? Czy 'printenv | grep VAR_NAME' w twojej powłoce pokazuje wartość? –
To działa, a ja używam go przez Eclipse @EtanReisner – SamTebbs33
Uruchomisz polecenie powłoki w Eclipse? – RealSkeptic