Я разрабатываю приложение J2EE, которое работает в JBoss на компьютере под управлением Windows Vista, но приложение будет работать на Linux-машине. Есть ли способ передать значение переменной среды независимым от платформы способом?Передача переменных окружения в JVM, независимо от платформы
Я думаю (но я не уверен) платформа чувствительный путь будет:
-Denv_var=%MY_ENV_VAR% (Windows)
-Denv_var=$MY_ENV_VAR (Linux)
и оттуда я бы доступ к значению (в Java), используя
System.getProperty("MY_ENV_VAR");
- это верно?
Javadoc for System.getenv(String name)
, похоже, подразумевает, что метод зависит от платформы, но я не понимаю этого. Могу ли я просто пропустить передачу переменной в JVM полностью и использовать getenv()
после использования установки значения для переменной среды с помощью ОС?
Является ли ваш пример неправильным? Разве это не должно быть -DMY_ENV_VAR, если вы собираетесь использовать System.getProperty («MY_ENV_VAR»); –