Подтвердить что ты не робот

Какая разница между переменной System и переменной среды

Я не понимаю. Когда я запускаю приложение Java или запускаю апплет в средстве просмотра апплетов (в среде IDE), System.getProperty("java.class.path") дает мне то же самое, что System.getenv("CLASSPATH"), который является CLASSPATH, определенным в моей переменной env.

Но когда я развертываю свой апплет на веб-сервер и получаю его с того же компьютера, что и клиент, у меня разные результаты для двух. (System.getProperty("java.class.path") указывает только на JRE home и System.getenv("CLASSPATH") возвращает null).

И вот некоторые другие вещи, которые заставляют меня задуматься:

Для части апплета, env var JAVA_HOME, я получаю тот же результат при развертывании апплета в браузере, а также в Applet Viewer.

И если я определяю себя переменной env на системном уровне и использую getenv("envName"), результат равен null. В любом случае, я могу определить его и получить в моей программе Java?

4b9b3361

Ответ 1

Переменные окружения специфичны для операционной системы. Свойства - это только JVM.

Ответ 2

System.getProperty("Propertname") **Platform Independent** 

Вышеуказанный метод вернет аргументы и свойства JVM.

System.getenv("EnvName")       **Platform Dependent**

Вышеуказанный метод возвращает переменные операционной системы environment.

В Linux вы можете установить переменную среды из оболочки, используя следующую команда.

export SYSTEM_TYPE=PROD

В Java вы можете прочитать переменную

System.getenv("SYSTEM_TYPE")

Приведенный выше код вернет PROD

http://javarevisited.blogspot.in/2012/08/how-to-get-environment-variables-in.html