2013-08-08 19 views
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"; 
+2

は、環境変数の設定されていますか?あなたはコマンドラインからその価値を見ることができますか?そうであれば、最初のスニペットは値を返すべきだと思います –

答えて

61

このコードスニペットは、解決すべき問題のためのためにnullを返すべきではありません...

final String value = System.getenv("PE_CONF_PWD"); 
関連する問題