java - 在 Java 中使用导出

标签 java export

我正在使用 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/

相关文章:

java - 使用自定义词汇表将结果集流式传输为 RDF

parameters - 如何通过向 MEF 中的导出器传递参数来导入零件?

javascript - 在 Javascript 中使用 "Exports."?

java - 大型应用程序的JVM性能调优

java - 将对象实例的所有值添加到列表中

java - 在Java中将long值转换为char序列

import - 将 Plastic SCM 与公共(public)代码托管服务结合使用的工作流程

从草地 gis 导出多个栅格

three.js - Blender 导出到 Three.js。所有 Material 均具有相同的灰色

java - 有 ASP.Net MVC 经验,如何学习 JSP/MVC?