我想从Java运行“ node index.js”,但不断收到错误消息,指出找不到“ node”(即使在cmd上运行node
也可以)。
尝试过:
String s;
Process p;
try {
p = Runtime.getRuntime().exec("node index.js");
BufferedReader br = new BufferedReader(
new InputStreamReader(p.getInputStream()));
while ((s = br.readLine()) != null)
System.out.println("line: " + s);
p.waitFor();
System.out.println("exit: " + p.exitValue());
p.destroy();
} catch (Exception e) {
e.printStackTrace();
}
答案 0 :(得分:0)
如果上面的代码不起作用,则可能的解释是node
进程正在使用的环境中java
命令不在PATH 上
如果这是问题所在,则可以在node
调用中使用exec
命令的绝对路径。另一个解决方案是更改启动java
的方式;例如在运行PATH
的脚本中适当设置java
变量。