web-dev-qa-db-fra.com

Obtenir la valeur de la variable d'environnement dans java

Une variable d'environnement a été définie dans la machine Windows (Windows 7) et tente d'obtenir la valeur de la variable à partir du code Java Java. Cependant, elle renvoie une valeur nulle.

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

Maintenant, si j'exécute le code suivant, il lève une exception de sécurité qui signifie que l'utilisateur n'a pas la variable.

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

Plus tard, j'ai ajouté une autorisation dans le fichier de stratégie de sécurité JRE et j'ajoute l'entrée suivante, mais elle renvoie toujours une valeur nulle.

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

Cet extrait de code ne doit pas retourner null pour que votre problème soit résolu ...

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