根据我所读的,有几种方法可以在 node.js
应用程序中运行 java
文件。其中一种方法是生成子进程:(java
代码已被打包在可执行的 jar
中,并包含依赖项。)
var exec = require('child_process').exec, child;
child = exec('java -jar file.jar arg1 arg2',
function (error, stdout, stderr){
console.log('stdout: ' + stdout);
console.log('stderr: ' + stderr);
if(error !== null){
console.log('exec error: ' + error);
}
});
另一种方法是使用java-npm
模块(链接),它是JNI
的包装器(这将允许我创建对象
,设置和获取属性
,运行方法
)。在生产环境中,当我想要我的
node.js
(Express
)服务器调用一个Java
程序(它只是将图像保存到本地目录)时,请告诉我哪种方法是更好的(就最佳实践而言)。此外,我还需要传递一长串参数
给main
类,但在命令行上完成有点困难。我应该让Java
程序从输入文件中读取吗?