【发布时间】:2014-02-03 15:22:39
【问题描述】:
嘿,我正在 nodejs shell 中运行以下代码
exec = require('child_process').exec
现在我有 exec var 作为函数。然后我跑
exec('java',function (error, stdout, stderr) {console.log(error)});
和
exec('java -version',function (error, stdout, stderr) {console.log(error)})
第一个输出是:
{ [Error: Command failed: The system cannot find the path specified.
但输出继续,我从 java 得到真正的输出,即:
Usage: java [-options] class [args...]
(to execute a class)
or java [-options] -jar jarfile [args...]
(etc....)
我第二次尝试使用“java -version”也是如此 我明白了
{ [Error: Command failed: The system cannot find the path specified.
java version "1.7.0_10"
Java(TM) SE Runtime Environment (build 1.7.0_10-b18)
Java HotSpot(TM) 64-Bit Server VM (build 23.6-b04, mixed mode)
] killed: false, code: 1, signal: null }
有什么想法吗? 谢谢 橡木
附言
我在Windows 8 上运行,我设置了JAVA_HOME,我的PATH 中有%JAVA_HOME%\bin
如果我从命令行运行 java -version 一切正常。
“节点版本”v0.10.22
编辑:
来自 nodejs 文档
"成功时error为null,出错时error为Error实例,err.code为子进程的退出码,err.signal设置为终止进程的信号。”
【问题讨论】:
标签: java javascript windows node.js cmd