У меня есть приложение JNLP Java WebStart, в котором я хочу прочитать переменные среды, но все они имеют значение NULL.
В моем приложении JNLP я обращаюсь к переменным и печатаю их следующим образом:
Map<String, String> envArgs = System.getenv();
for (String key : envArgs.keySet()) {
System.out.println(key + "=" + arguments.get(key));
}
И печатает только строки, подобные этой:
ProgramData = null
ProgramW6432 = null
HOMEPATH = null
PROCESSOR_IDENTIFIER = null
ProgramFiles = null
PUBLIC = null
windir = null
MOZ_CRASHREPORTER_PING_DIRECTORY = null
Приложение JNLP запускается из другого приложения Java с использованием ProcessBuilder cmd = "C:\JDK\jre\bin\javaws -wait URL2JNLP"
:
ProcessBuilder pb = new ProcessBuilder(cmd[0], cmd[1], cmd[2]);
pb.environment().put("apple", "isFruite");
try {
return pb.start();
} catch (IOException e) {
LOG.error("Error starting JNLP application", e);
throw new RuntimeException(e);
}
Есть ли способ исправить этот доступ / передачу переменных среды?