JNLP应用程序为所有System.getenv()返回NULL

时间:2018-12-14 03:37:03

标签: environment-variables java-web-start jnlp

我有一个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 =空
  HOMEPATH =空
  PROCESSOR_IDENTIFIER =空
  ProgramFiles = null
  PUBLIC =空
  windir = null
  MOZ_CRASHREPORTER_PING_DIRECTORY =空

使用ProcessBuilder cmd = "C:\JDK\jre\bin\javaws -wait URL2JNLP"从另一个Java应用程序启动JNLP应用程序:

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);
}

是否有解决此环境变量访问/传递的方法?

0 个答案:

没有答案