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