20

nodejs で jar ファイルを実行しようとしましたが、次のエラーが発生しました。

Error: Unable to access jarfile /home/example/Applications/example.jar

これは、test.js にある次のコードです。

var exec = require('child_process').exec, child;
child = exec('/usr/bin/java -jar ~/Applications/example.jar',
  function (error, stdout, stderr){
    console.log('stdout: ' + stdout);
    console.log('stderr: ' + stderr);
    if(error !== null){
      console.log('exec error: ' + error);
    }
});

このコマンドで nodejs を使用して test.js を実行しましたが、上記のエラーが発生しました。

node test.js

私のコードで何か間違いはありますか? この時点でなぜエラーがスローされるのかわかりません。

4

2 に答える 2

13

.jarから削除exec();

Java は、引数.jarを使用しない場合でも jar ファイルを検索します。-jarそうでなければ..探しているfilename.jar.jar

特殊な Snowflake macos には and が必要であり、.jar省略した場合は機能しません。
(Gʀɪᴍ に感謝)彼は関連する質問も作成しました

于 2012-10-15T09:07:47.520 に答える
8

Windows コマンド プロンプトで使用している場合は、このコードを使用できます。

var exec = require('child_process').exec, child;
child = exec('java -jar C:\\..\\..\\yourjar.jar',
function (error, stdout, stderr){
console.log('stdout: ' + stdout);
console.log('stderr: ' + stderr);
if(error !== null){
  console.log('exec error: ' + error);
}
});

ダブルスレースを忘れないでください。そうしないと、混乱します。

于 2016-03-31T12:25:23.647 に答える