我可以从Java类执行node.js脚本吗?

时间:2013-05-22 15:26:39

标签: java node.js

我目前正在开发一个使用socket.io与node.js通信的Java系统。系统和脚本位于同一服务器上。如何从我的Java代码中执行脚本并从我的应用程序中保持活动状态?

3 个答案:

答案 0 :(得分:4)

假设您有一个名为“mynodejs.js”的node.js脚本。您可以使用以下java代码:

Process p = Runtime.getRuntime().exec("node mynodejs.js");

ProcessBuilder b = new ProcessBuilder("node mynodejs.js", "-args");

答案 1 :(得分:2)

注意使用流程构建器时,JavaScript文件的路径是参数和"节点"是命令,因此它们需要分开:

ProcessBuilder pb = new ProcessBuilder("node", "app.js");

这对于继承其控制台输出,启动流程并获取对流程的引用也很有用:

pb.redirectOutput(ProcessBuilder.Redirect.INHERIT);
pb.redirectError(ProcessBuilder.Redirect.INHERIT);
Process p = pb.start();

答案 2 :(得分:1)

查看ProcessBuilder课程。

如果我能正确理解您的问题,您可以像在shell上一样启动计算机上的任何流程。