Java를 사용하여 환경 변수에 최신/업데이트 된 사본을 가져오고 싶습니다.Java에서 환경 변수의 업데이트 된 사본 얻기
누군가 프로그램을 실행 한 후 누군가가 특정 환경 변수를 변경하면 Java가 최신 복사본을 반환하지 않습니다.
아래 예제 코드를 사용하여 시나리오를 테스트하십시오.
import javax.swing.JOptionPane;
public class Test extends Thread {
public static void main(String[] args) {
Test test = new Test();
test.start();
}
@Override
public void run() {
super.run();
while (true) {
JOptionPane.showMessageDialog(null, System.getenv("A"));
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
업데이트 : 시도 ProcessBuilder를 또한
ProcessBuilder processBuilder = new ProcessBuilder("echo %A%");
System.out.println(processBuilder.environment().get("A"));
환경을 어떻게 변경 했습니까? 프로그램을 실행 한 후에 변수를 내보내는 것만으로도 해당 프로그램의 환경이 변경되지는 않습니다. –
Windows의 경우 시스템 속성 대화 상자를 사용하고 있습니다. –