Quelle est la différence entre une propriété du système et la variable d'environnement
-
30-09-2019 - |
Question
Je ne suis pas clair sur ce point. Quand je lance une application java ou exécuter une applet dans la visionneuse applet, (dans l'environnement IDE), System.getProperty("java.class.path")
me donne la même chose que System.getenv("CLASSPATH")
qui est le CLASSPATH défini dans ma variable env.
Mais quand je applet pour mon déployer serveur Web et d'y accéder à partir du même ordinateur en tant que client, je reçois des résultats différents pour les deux. (System.getProperty("java.class.path")
seuls les points à la maison et retourne JRE System.getenv("CLASSPATH")
null).
Et voici quelques autres choses qui me font me demander:
Pour la partie applet, le JAVA_HOME var env, je reçois le même résultat lors du déploiement de l'applet dans un navigateur ainsi que Applet Viewer.
Et si je me définir une variable d'env au niveau du système, et l'utilisation getenv("envName")
le résultat est null
. Y at-il de toute façon je peux définir un et l'obtenir dans mon programme Java?
La solution
Les variables d'environnement sont spécifiques au système d'exploitation. Les propriétés sont JVM seulement.
Autres conseils
System.getProperty("Propertname") **Platform Independent**
La méthode ci-dessus renvoie les arguments JVM et propriétés.
System.getenv("EnvName") **Platform Dependent**
La méthode ci-dessus renvoie votre système d'exploitation variables environment
.
Sous Linux, vous pouvez définir une variable d'environnement du shell en utilisant ce qui suit commander.
export SYSTEM_TYPE=PROD
En Java, vous pouvez lire la variable par
System.getenv("SYSTEM_TYPE")
Le code ci-dessus renvoie PROD
http: //javarevisited.blogspot. en / 2012/08 / how-to-get-environnement-variables in.html