如何在Node.js和Java之间建立通信?

问题描述 投票:0回答:1

我有Foo.java文件

package mypack;
class Foo {
  public int add (int a, int b) {
    return a+b;
  } 
}

和一个Bar.java

package mypack;
class Bar {
  public static void main (String args[]) {
    Foo instance = new Foo();
    System.out.println(Foo.add(2, 3));
  }
}

我有一个server.js文件,其中使用shelljs读取输出并将其打印在终端shell中。

var shelljs = require('shelljs');

shelljs.exec('java -cp bin mypack.Bar', function (code, output) {
   console.log(output);
});

当我运行node server.js我得到了输出

5
5

第一个由java print语句打印,而第二个由nodejs控制台语句打印。 我的问题是如何修改Java输出,使其仅由节点读取而不在外壳中打印? 因此,我仅从节点控制台语句获取输出。

node.js io
1个回答
2
投票

似乎有一个silent选项,它告诉它不要将程序输出打印到控制台:

shelljs.exec('java -cp bin mypack.Bar', {silent: true}, function (code, output) {
   console.log(output);
});

看一下文档

© www.soinside.com 2019 - 2024. All rights reserved.