如何从Java运行Node.js进程?

时间:2020-01-11 03:49:24

标签: java node.js

我想从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();
        }

1 个答案:

答案 0 :(得分:0)

如果上面的代码不起作用,则可能的解释是node进程正在使用的环境中java命令不在PATH

如果这是问题所在,则可以在node调用中使用exec命令的绝对路径。另一个解决方案是更改启动java的方式;例如在运行PATH的脚本中适当设置java变量。

相关问题