调用java项目中的节点js应用程序

我创build了新的Java项目,下面的代码打开与项目path的命令行。在Java项目中,我已经添加了两个文件(根下)app.js和包json,现在我想要调用此节点app.js

我使用下面的代码来打开工作正常的命令行

Process newProc = Runtime.getRuntime().exec("cmd /c start cmd.exe"); OutputStream out = newProc.getOutputStream(); 

如果我手动input命令行(通过上面的程序打开): node app.js 节点js正在启动 。 我想用java代码来做所有这些事情

 Runtime.getRuntime().exec("cmd /c start cmd.exe node app.js"); 

并使用Runtime.getRuntime().exec("node app.js");

当我尝试这个不工作…

我的Java项目看起来像followoing

 myProj src web app.js package.json 

更新这是app.js文件

 var express = require('express'); var app = express(); app.get('/', function (req, res) { res.send("Test app running"); }); var server = app.listen(3005, function () { console.log("listen" + 3005) } ) 

尝试ProcessBuilder而不是Runtime

 ProcessBuilder pBuilder = new ProcessBuilder("C:\\Program Files\\nodejs\\node.exe", "C:\\temp\\app.js"); Process process = pBuilder.start(); process.waitFor();