Eigene Systemvariablen in Java auslesen

Studdi23

Grünschnabel
Hallo zusammen,

ich habe in den Systemeigenschaften von Windows eine neue Systemvariable angelegt (Variable: ENV_TEST, Wert: Test). Ich schaffe es jedoch nicht diese in Java auslesen. Normalerweise ist ja dafür die getEnv Methode vorgesehen.

Code:
System.out.println(System.getenv("ENV_TEST"));

Die Ausgabe ist aber leider 'null'. Andere Systemvariablen wie z.B: 'JAVA_HOME' lassen sich allerdings problemlos ausgeben.

Mein nächster Ansatz war, mir den Wert über den ProcessBuilder ausgeben zu lassen, da in der Windows Konsole der Aufruf 'echo %ENV_TEST%' tatsächlich 'Test' ausgibt, also korrekt vom System erkannt wird.

Code:
Process p = new ProcessBuilder("cmd", "/c", "echo", "%ENV_TEST%").start();
BufferedReader br = new BufferedReader( new InputStreamReader( p.getInputStream() ) );
String env_test = br.readLine();
System.out.println(env_test);

Statt dem Wert wird aber der Variablenname '%ENV_TEST%' selbst ausgegeben.

Kann es sein das ich die Variable noch irgendwo in der Registry bekannt machen muß? Ich checke einfach nicht, wo das Problem liegt. Wäre nett wenn mich jemand aufklären könnte.
 

Neue Beiträge