2017-03-15 3 views
1

노드 js 응용 프로그램이 있으며 매우 기본 jar 파일 인 System.out.println("Hello");을 실행하려고합니다. 그 결과를 하나의 변수로 캡처해야합니다. 어떻게하면됩니까? 나는이노드 js appliation에서 jar 파일을 실행하는 방법

var exec = require('child_process').exec; 
var child = exec('java -jar ./TestFile.jar', 
function (error, stdout, stderr){ 
console.log('Output -> ' + stdout); 
if(error !== null){ 
    console.log("Error -> "+error); 
} 
}); 
module.exports = child; 

을 시도하지만 내 클라이언트 측에서 그 결과를 표시 할 수 있도록 누군가가 우리가이 jar 파일을 실행할 수있는 방법을 도와 드릴까요

Output -> 
Error -> Error: Command failed: C:\windows\system32\cmd.exe /s /c "java -jar ./TestFile.jar" 
no main manifest attribute, in ./TestFile.jar 

로 나에게 오류를주고있다.

+0

를 통해 실행해야합니다. 'java -jar./TestFile.jar'을 수동으로 실행 해 보았습니까? –

답변

4

java -jar을 통해 실행할 수 없으므로 항아리의 매니페스트에 Main-Class을 명시하지 않았 음이 분명합니다. 자세한 내용은 here을 참조하십시오.

당신의 항아리의 매니페스트에 Main-Class 항목을 사용하지 않는 경우, 당신은 매니페스트 JAR보다는 노드 코드에 문제처럼 보인다

java -cp ./TestFile.jar com.foo.MyMainClass 
관련 문제