Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从java代码中添加环境变量_Java_Postgresql_Environment Variables_Processbuilder_Pg Upgrade - Fatal编程技术网

如何从java代码中添加环境变量

如何从java代码中添加环境变量,java,postgresql,environment-variables,processbuilder,pg-upgrade,Java,Postgresql,Environment Variables,Processbuilder,Pg Upgrade,希望从我的java应用程序中添加“PGPASSWORD”env变量 我知道使用下面的方法,我们可以添加 私有void setPgPasswordEnv(字符串pwdValue){ ProcessBuilder pb=newprocessbuilder(“CMD”、“C”、“SET”); Map envMap=pb.environment(); envMap.put(“PGPASSWORD”,pwdValue); } 如果我们在上面添加using,它会持续到我的应用程序运行吗 有没有从java

希望从我的java应用程序中添加“PGPASSWORD”env变量

我知道使用下面的方法,我们可以添加

私有void setPgPasswordEnv(字符串pwdValue){

ProcessBuilder pb=newprocessbuilder(“CMD”、“C”、“SET”);
Map envMap=pb.environment();
envMap.put(“PGPASSWORD”,pwdValue);
} 
如果我们在上面添加using,它会持续到我的应用程序运行吗


有没有从java添加env变量的最佳方法?

如果您执行该代码,则在随后调用
pb.start()
时,它将应用于运行
CMD
程序的新进程

它不会影响正在运行的Java程序,也不会影响任何其他
ProcessBuilder
,因为每个
ProcessBuilder
都有自己的环境变量副本,可以为新进程设置


正如文档中充分解释的那样,即的javadoc。

不清楚您试图实现什么:您想让这个环境变量通过什么其他过程访问?
    ProcessBuilder pb = new ProcessBuilder("CMD", "/C", "SET");

    Map<String, String> envMap = pb.environment();

    envMap.put("PGPASSWORD", pwdValue);
}