有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java SyntaxError:节点Javascript中意外的标记非法

我正在尝试使用节点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;),那么它不会显示上述错误。但我想在那个罐子里放一些类文件

如果我直接在windows命令提示符下运行第一个命令(不使用node js),那么它将正确执行。 如果我加上下面这些罐子,有人知道为什么会出现这个错误吗? 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;


共 (2) 个答案

  1. # 1 楼答案

    javascript中的字符串c:\windows\应该是这样的:

    c:\\windows\\
    

    和派生语法:spawn(command, [args], [options])

    spawn('java', ['-cp', 'c:\\java\\...'])
    
  2. # 2 楼答案

    你必须加倍反斜杠。而不是

    'java -cp C:\Java\jdk1.7.0_45\lib\dom4j.jar;...'
    

    'java -cp C:\\Java\\jdk1.7.0_45\\lib\\dom4j.jar;...'