从java调用节点js
我想从JAVA调用节点JS,如下所示:从java调用节点js,java,processbuilder,Java,Processbuilder,我想从JAVA调用节点JS,如下所示: ProcessBuilder pb = new ProcessBuilder("swagger-to-raml-object","twitter-api-api-docsjson"); 我得到以下错误: CreateProcess error=2, The system cannot find the file specified 已为节点js正确设置我的路径。 导致问题的原因是什么?一种可能的解决方案(取自)是执行命令/bin/bash,并将可执行文
ProcessBuilder pb = new ProcessBuilder("swagger-to-raml-object","twitter-api-api-docsjson");
我得到以下错误:
CreateProcess error=2, The system cannot find the file specified
已为节点js正确设置我的路径。
导致问题的原因是什么?一种可能的解决方案(取自)是执行命令
/bin/bash
,并将可执行文件作为参数。
当我尝试运行shell脚本时,这对我很有用。。。如果可以从命令行/my\u super\u exec
运行,则可以从Java运行相同的命令行:
/* Tell Java what shell is needed to execute your command */
private static final String BIN_BASH = "/bin/bash";
// ...
int exitValue = 0;
try {
ProcessBuilder pb = new ProcessBuilder(BIN_BASH, sh);
Process p = pb.start();
exitValue = p.waitFor();
} catch (IOException | InterruptedException e) {
return false;
}
return exitValue == 0;
那么swagger to raml对象和程序引用的任何其他文件呢?没有其他程序引用此文件。您说要调用nodejs,但您正在调用swagger to raml对象。它是否在内部调用节点?这是什么文件?@user3345282太好了!如果有效,请检查已解决的答案,或向上投票:)