web-dev-qa-db-ja.com

javaで環境変数値を取得する

環境変数がWindowsマシン(Windows 7)で設定され、次のJavaコードから変数の値を取得しようとしています。ただし、null値を返します。

final String value = System.getenv("PE_CONF_PWD");
System.out.println(value);
//print null

ここで次のコードを実行すると、ユーザーに変数がないことを意味するセキュリティ例外がスローされます。

SecurityManager m = new SecurityManager();
m.checkPropertyAccess("PE_CONF_PWD");
// Java.security.AccessControlException: access denied ("Java.util.PropertyPermission" "PE_CONF_PWD" "read") 

後でJREセキュリティポリシーファイルにアクセス許可を追加し、次のエントリを追加しましたが、それでもnull値が返されます。

permission Java.lang.RuntimePermission "getenv.PE_CONF_PWD";
31
Shamim Ahmmed

問題を解決するために、このコードスニペットはnullを返さないでください...

final String value = System.getenv("PE_CONF_PWD");
63
Ankit