如何在Windows中的ProcessBuilder java中设置PATH环境变量

我试图在java中为进程构建器设置PATH环境变量,我尝试了以下方法:

ProcessBuilder pb = new ProcessBuilder(command); Map mp = pb.environment(); mp.put("Path", "myPath"); pb.start(); 

但是以下不起作用,进程构建器选择了默认的系统路径。 我遇到了这个问题 ,这个技巧在我目前的项目中没有帮助我。 我该怎么办才能解决这个问题?

路径用于新进程。 它不用于查找您的命令。

您可以尝试下一个解决方案。 运行cmd.exe(bash等),然后运行您的命令。

例:

 public class Test { public static void main(String[] args) throws IOException { ProcessBuilder pb = new ProcessBuilder("cmd.exe", "/C", "start", "mystuff.exe"); Map envs = pb.environment(); System.out.println(envs.get("Path")); envs.put("Path", "C:\\mystuff"); pb.redirectErrorStream(); pb.start(); } }