Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.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 - Fatal编程技术网

从java修改环境变量

从java修改环境变量,java,Java,你在JNI方法方面成功吗??如果是,您能为我提供或发布c和java的源代码吗?如果您知道系统调用OS库来设置环境变量,那么我建议-它提供本机访问,而无需编写JNI库。您是否阅读了您在问题中提供的链接中指向ProcessBuilder的链接? 如果没有,请举例说明 ProcessBuilder pb = new ProcessBuilder("myCommand", "myArg1", "myArg2"); Map<String, String> env = pb.environm

你在JNI方法方面成功吗??如果是,您能为我提供或发布c和java的源代码吗?

如果您知道系统调用OS库来设置环境变量,那么我建议-它提供本机访问,而无需编写JNI库。

您是否阅读了您在问题中提供的链接中指向ProcessBuilder的链接? 如果没有,请举例说明

 ProcessBuilder pb = new ProcessBuilder("myCommand", "myArg1", "myArg2");
 Map<String, String> env = pb.environment();
 env.put("VAR1", "myValue");
 env.remove("OTHERVAR");
 env.put("VAR2", env.get("VAR1") + "suffix");
 pb.directory("myDir");
 Process p = pb.start();
在上面的示例中,您可以很容易地修改环境,如您所见

一旦你有了这个流程,你就可以从那里得到你需要的所有流getOutputStream,getInputStream,getErrorStream


你可以从她那里得到一个例子:

我在链接的问题中没有看到JNI方法。你能详细说明吗?对不起,有问题的链接不好!恐怕我没有…我想用如这里所解释的,它永远不会起作用。我需要更改当前正在运行的进程的路径:此处@Jlri Vanek和您提到的帖子说,您可以在子进程启动之前修改其环境,但不能更改当前进程的环境。这说明这是可能的。上述代码judst不起作用@Jlri Vanek-您不能为当前进程更改它,只能为子进程更改它。