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の場合は、[システムプロパティ]ダイアログを使用しています。 –