我正在尝试使用 Node JavaScript 执行命令。
var spawn = require('child_process').spawn,
cmd = spawn('java -cp C:\Java\jdk1.7.0_45\lib\dom4j.jar;C:\Java\jdk1.7.0_45\lib\geronimo-stax-api_1.0_spec-1.0.1.jar;C:\Java\jdk1.7.0_45\lib\gson-2.2.4.jar;C:\Java\jdk1.7.0_45\lib\mysql-connector-java-5.1.6.jar;C:\Java\jdk1.7.0_45\lib\ooxml-schemas-1.0.jar;C:\Java\jdk1.7.0_45\lib\poi-3.9-20121203.jar;C:\Java\jdk1.7.0_45\lib\poi-ooxml-3.9.jar;C:\Java\jdk1.7.0_45\lib\xmlbeans-2.5.0.jar;C:\Java\jdk1.7.0_45\lib\xmlbeans-xmlpublic-2.6.0.jar;C:\Java\jdk1.7.0_45\lib\excelreader.jar astral.excelreader.Main 11 33 fsdds', []);
然后显示以下错误:
SyntaxError: Unexpected token ILLEGAL
at Module._compile (module.js:439:25)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:901:3
如果我删除这两个 jar (C:\Java\jdk1.7.0_45\lib\xmlbeans-2.5.0.jar;C:\Java\jdk1.7.0_45\lib\xmlbeans-xmlpublic-2.6.0.jar;)
from 命令则不会显示上述错误。但我想要那个 jar 里有一些类文件。
如果我直接在 Windows 命令提示符中运行第一个命令(不使用 Node js),那么它将正确执行。
有人知道如果我添加以下这些 jar 为什么会出现这个错误吗?
C:\Java\jdk1.7.0_45\lib\xmlbeans-2.5.0.jar;
C:\Java\jdk1.7.0_45\lib\xmlbeans-xmlpublic-2.6.0.jar;
最佳答案
javascript 中的
String c:\windows\
应该是这样的:
c:\\windows\\
生成语法:spawn(command, [args], [options])
spawn('java', ['-cp', 'c:\\java\\...'])
关于java - 语法错误: Unexpected token ILLEGAL in Node Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20838205/