System.getenv() liefert nicht eine Liste aller Umgebungsvariablen

Habe ich bemerkt, dass einige meiner Umgebungsvariablen werden nicht abgeholt wird von der JVM.

In meinem .bash_profile ich Folgendes definiert:

IO_HOME='some_value'
export IO_HOME

ist und in der shell:

echo $IO_HOME

Bekomme ich das richtige Ergebnis.

Aber weder System.getProperties() noch System.getenv() zeigt diese variable gesetzt wird. Ich habe sowohl Java 6 und Java 7.

Gibt es etwas, was ich bin fehlt?

  • ja, keine Leerzeichen vorhanden sind
  • mögliche Duplikate von öffnen Sie die shell-Umgebungsvariablen mit Java
  • werden Sie beim starten der java-Anwendung aus einer bash-shell?
  • Um zu testen, ob es ein Bash-Problem oder ein Java-Problem, können Sie erst ausführen env | grep ^IO_HOME= um zu sehen, ob env sieht diese variable (wenn Sie es tut, dann ist das ein Java-Problem, nicht ein Bash-Problem), und führen Sie dann env IO_HOME='some_value' java your_java_program zu sehen, ob Ihr Java-Programm sieht diese variable (wenn Sie es tut, dann ist dies ein Bash-Problem, nicht ein Java-Problem). Wenn diese widersprüchliche Ergebnisse, dann ist das problem vermutlich irgendwo dazwischen: es ist wahrscheinlich, wie Sie die Java-Programm.
InformationsquelleAutor MaLLinok | 2012-12-06
Schreibe einen Kommentar