2016-07-12 10 views
0

次のコードをビルドして、Javaプログラムを実行するノードを作成しようとしています。しかし、何も起こっていないと私は本当にデバッグする方法を知らない。Node.js Javaで起動する

var express = require('express'); 
var bodyParser = require('body-parser'); 
var app = express(); 

app.use(express.static('resources')); 
app.use(express.static(__dirname)); 
app.use(bodyParser.urlencoded({extended : false})); 

app.get('/', function (req, res) { 
    res.sendFile(__dirname + "/" + "index.html"); 
}) 

app.post('/java_preview', function (req, res) { 

    console.log("Request for java_preivew:"); 
    console.log(req.body.url);     //LINE X 
    console.log(req.body.tableparserClass); //LINE Y 

    var spawn = require('child_process').spawn; 
    var java = spawn('java', ['-version']); 
    java.stdout.on('data', function(data) { //LINE A 
     console.log(data);     //LINE B 
     //io.emit('chat message', data.toString()) 
    }); 

投稿要求が '/ java_preview'の場合、XとYの両方の行が動作します。しかし、サーバーのコンソールには出力がありません。ノードインスペクタを使用してデバッグするとき、私はラインAとBにブレークポイントを置いた。しかし、ラインBは呼び出されなかった。

出力が「標準出力」イベントが、「標準エラー出力」に送信されることはありませんように見える任意の提案をしてください

多くのおかげ

答えて

0

OK。 javaが状態0で終了しても、java.stdout.onをjava.stderr.onに置き換えると、問題が解決されました。

これはなぜ起こるのかわかりません。

関連する問題