gpt4 book ai didi

node.js - 无法使用 Node.js 中的 child_process exec 调用解析目录路径

转载 作者:太空宇宙 更新时间:2023-11-03 22:54:58 25 4
gpt4 key购买 nike

我正在尝试做什么:

我想用 Node.js 创建一个搜索引擎

到目前为止我做了什么:

我用 Java 创建了一个测试程序,并完成了 POC,无论搜索是否正确执行。它与命令提示符完美配合。然后我将程序导出到可执行 JAR 文件并通过命令提示符成功执行该 JAR 文件。

现在我尝试通过 Node.js 为该程序提供 Web 界面,并尝试从中调用 JAR 文件。到目前为止,我已经管理了应用程序的 View 和路由器的所有细节。但现在当我尝试使用 Node 子进程调用 JAR 文件时,会遇到错误 -

stderr:“C:\Program”未被识别为内部或外部命令,可运行的程序或批处理文件。

执行错误:错误:命令失败:'C:\Program' 未被识别为内部或外部命令,可运行的程序或批处理文件。

我的错误代码如下 -

     var exec = require('child_process').exec, child;


child = exec('C:\\Program Files\\Java\\jre6\\bin java -jar C:\\java\\ease.jar '+ newstr,

function (error, stdout, stderr){

console.log('stdout: ' + stdout);

console.log('stderr: ' + stderr);

if(error !== null){

console.log('exec error: ' + error);

}

});

我也尝试搜索 API 和 google 但无济于事,因为我无法弄清楚如何正确给出路径字符串。

最佳答案

当使用exec时,第一个参数是要运行的命令,参数以空格分隔。因此,它认为要执行的可执行文件是 C:\Program,因为 Program 后面有一个空格。另外,您似乎可能在 bin 之后和 java 之前缺少 \,或者您不需要提供路径。

以下方法可能有效(不确定且无法测试):

exec('"C:\\Program Files\\Java\\jre6\\bin\\java" -jar C:\\java\\ease.jar '+ newstr);

关于node.js - 无法使用 Node.js 中的 child_process exec 调用解析目录路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22041684/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com