Сбой команды java в узле js дочернего процесса exec, но успешно в командной строке - PullRequest
0 голосов
/ 20 мая 2018

Я пытаюсь запустить следующую команду, используя пакет exec дочернего процесса JS узла:

java -Duser.dir=/app/system/controllers/ -jar -Xmx2048m -XX:-UseGCOverheadLimit "/app/system/controllers/validation/dist/Validation.jar" "load" "ATC" "/app/system/controllers/validation/test files/uploadedfile1.xlsx" "/app/system/controllers/validation/test files/uploadedfile2.xlsx"

Вот как я ее называю:

var exec = require('child_process').execSync;

var child = exec('java -Duser.dir=/app/system/controllers/ -jar -Xmx2048m -XX:-UseGCOverheadLimit "/app/system/controllers/validation/dist/Validation.jar" "load" "ATC" "/app/system/controllers/validation/test files/uploadedfile1.xlsx" "/app/system/controllers/validation/test files/uploadedfile2.xlsx"', function (error, stdout, stderr){
                if(error){
                    console.log("The error is: ",error);
                }
            });

По некоторым причинам,когда я называю это так, выдается следующая ошибка:

Error: Command failed: java -Duser.dir=/app/system/controllers/ -jar -Xmx2048m -XX:-UseGCOverheadLimit "/app/system/controllers/validation/dist/Validation.jar" "load" "ATC" "/app/system/controllers/validation/test files/uploadedfile1.xlsx" "/app/system/controllers/validation/test files/uploadedfile2.xlsx"
Exception in thread "main" org.apache.poi.openxml4j.exceptions.NotOfficeXmlFileException: No valid entries or contents found, this is not a valid OOXML (Office Open XML) file
    at org.apache.poi.openxml4j.opc.ZipPackage.getPartsImpl(ZipPackage.java:290)
    at org.apache.poi.openxml4j.opc.OPCPackage.getParts(OPCPackage.java:774)
    at org.apache.poi.openxml4j.opc.OPCPackage.open(OPCPackage.java:344)
    at org.apache.poi.util.PackageHelper.open(PackageHelper.java:37)
    at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:285)

Но когда я запускаю его через командную строку, буквально просто копируя и вставляя его, он работает совершенно нормально.Будет ли простое объяснение, почему это происходит?Я что-то неправильно называю в вызове дочернего процесса?

...