我有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文件,在其中我使用贝壳类读取输出并在终端外壳中打印它。
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输出,使其只由节点读取而不打印在shell中?因此,我只能从节点控制台语句中获得输出。
发布于 2015-07-29 21:43:52
看起来有一个silent选项,它告诉它不要将程序输出输出到控制台:
shelljs.exec('java -cp bin mypack.Bar', {silent: true}, function (code, output) {
console.log(output);
});看一看文档。
https://stackoverflow.com/questions/31711604
复制相似问题