30
Windowsマシン(Windows 7)で環境変数が設定され、次のJavaコードから変数の値を取得しようとしています。ただし、null値が返されます。Javaで環境変数値を取得する
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";
は、環境変数の設定されていますか?あなたはコマンドラインからその価値を見ることができますか?そうであれば、最初のスニペットは値を返すべきだと思います –