我正在使用 java 调用另一个程序,该程序依赖于导出的环境变量来运行:
SOME_VARIABLE=/home/..
export SOME_VARIABLE
如何使用 java 来设置这个变量,以便我可以在不止一台机器上使用这个程序?本质上,我希望能够通过 java 模拟上述命令。
最佳答案
可以在使用java.lang.Runtime.getRuntime().exec(...)
或java.lang.Processbuilder
调用时设置环境变量程序。
使用 Processbuilder,您可以:
ProcessBuilder processBuilder = new ProcessBuilder("your command");
processBuilder.environment().put("SOME_VARIABLE", "/home/..");
processBuilder.start();
对于运行时,它是:
Map<String, String> environment = new HashMap<String, String>(System.getenv());
environment.put("SOME_VARIABLE", "/home/..");
String[] envp = new String[environment.size()];
int count = 0;
for (Map.Entry<String, String> entry : environment.entrySet()) {
envp[count++] = entry.getKey() + "=" + entry.getValue();
}
Runtime.getRuntime().exec("your command", envp);
关于java - 在 Java 中使用导出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7369664/