【发布时间】:2019-05-15 17:05:09
【问题描述】:
我想设置运行配置选项:运行 JAR 时的环境变量并使用 java 代码运行它。 java代码运行jar时如何设置环境选项?
【问题讨论】:
-
澄清标题。
标签: java jar command-line-arguments environment option
我想设置运行配置选项:运行 JAR 时的环境变量并使用 java 代码运行它。 java代码运行jar时如何设置环境选项?
【问题讨论】:
标签: java jar command-line-arguments environment option
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') 访问代码中的系统道具
【讨论】:
您只需将新变量传递给运行时的 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]));
【讨论】: