设置特定JVM的系统属性

时间:2018-08-29 10:33:45

标签: java batch-file properties jvm

我有一个Java程序,可以在单独的JVM中执行批处理文件。现在,设置System.setProperty()在批处理文件中没有任何作用。

System.setProperty(key,value);
Process shutdownProcess = Runtime.getRuntime().exec("ABC.bat");

此过程在单独的JVM中运行。 在bat文件中,我正在执行一个Java程序,我在其中访问-System.getProperty(key),但是在这里我得到的是空值,因此如何从Java中在该特定JVM中设置系统属性,无论在执行bat时是否可以传递任何参数文件或可以做什么

1 个答案:

答案 0 :(得分:1)

使用Runtime.getRuntime,您正在访问执行JVM的环境(主机,操作系统等)。使用exec可以在这样的环境中启动命令。这意味着在Windows的命令提示符或* nix的 shell 中执行该命令。

命令提示符 / shell 中没有这样的“ JVM系统属性”概念。如果需要将参数从JVM传递到bat文件,则一种方法可能是使用命令提示符标准语法,然后在bat文件中进行解析。类似于以下内容。

Runtime.getRuntime().exec("ABC.bat " + key + " " + value)

在bat文件中,您将可以使用以下内容检索键和值。

set key=%1
set value=%2