如何将环境变量传递到jar文件?

时间:2019-05-15 17:05:09

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

我想在运行JAR时设置运行配置选项:环境变量,并使用Java代码运行它。通过Java代码运行jar时如何设置环境选项?

2 个答案:

答案 0 :(得分:0)

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

这是来自oracle doc的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]));

答案 1 :(得分:0)

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')

以代码访问系统道具