【问题标题】:How to pass enviornment variables to jar file?如何将环境变量传递给jar文件?
【发布时间】:2019-05-15 17:05:09
【问题描述】:

我想设置运行配置选项:运行 JAR 时的环境变量并使用 java 代码运行它。 java代码运行jar时如何设置环境选项?

【问题讨论】:

  • 澄清标题。

标签: java jar command-line-arguments environment option


【解决方案1】:
ENV_VAR=some-value java -jar path/to/theJar.jar

然后你可以通过System.getEnv('ENV_VAR')在Java中访问它

在java中你也可以做系统属性

java -Dsome.system.prop=some-value -jar path/to/theJar.jar

然后您可以通过System.getProperty('some.system.prop') 访问代码中的系统道具

【讨论】:

    【解决方案2】:

    您只需将新变量传递给运行时的 exec 方法,检查以下内容: https://stackoverflow.com/a/8607281/5032541

    这是来自 oracle 文档:https://docs.oracle.com/javase/7/docs/api/java/lang/Runtime.html#exec(java.lang.String,%20java.lang.String[])

    要获取运行时,只需执行 Runtime.getRuntime()

    有一个例子:

    List<String> env = new LinkedList<>();
    System.getenv().forEach((key, value) -> env.add(key+"="+value));
    env.add("MY_SUPER_NEW_ENV_VAR=AND_MY_SUPER_VALUE");
    Runtime runtime = Runtime.getRuntime();
    runtime.exec("/bin/bash", env.toArray(new String[0]));
    

    【讨论】:

      猜你喜欢
      • 2018-04-09
      • 1970-01-01
      • 2013-12-29
      • 2016-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多