OS(Windows XP)env変数を取得したいのですが、私のコードは以下です(jdk 1.6):
public class TestEnv{
public static void main(String...args){
System.out.println(System.getenv("catalina_home"));
}
}
catalina_home
最初に、私のPCで呼び出される変数はありません。それは出力し、次に変数null
を追加します。それでも出力します。Eclipseをシャットダウンして再起動すると、正しい値が出力されます。このコードを cmd コンソールでこのように実行すると、正しい値を取得するために新しい cmd コンソールを閉じて再起動する必要があります。既存の変数を削除すると、Eclipse または cmd コンソールを再起動するまで、最初に null 以外の値が出力されます。出力できます。したがって、EclipseまたはcmdコンソールにはOS環境変数がキャッシュされていると思いますが、実際にキャッシュされていても証拠はありません。理由を知りたいですか? どんなアイデアでも大歓迎です。どうも。catalina_home
My Computer > Advanced > Environment Variables
null
null