rau*_*aul 8 java node.js express
根据我的阅读,有几种方法可以java
在node.js
应用程序中运行文件.一种方法是生成子进程:( 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);
}
});
Run Code Online (Sandbox Code Playgroud)
另一种方法是使用java - npm
模块(链接),一个包装器JNI
(这将让我创建objects
,设置和获取attributes
,运行methods
).
在生产环境中,当我希望我的node.js
(Express
)服务器调用java
程序(它只是将图像保存到本地目录)时,请告诉我哪个是更好的方法来实现这一点(就最佳实践而言).此外,还有一个很长的列表arguments
,我需要传递给main
类,并在命令行上这样做有点困难.我应该java
从输入文件中读取程序吗?
1) 如果您使用exec
,您将运行整个程序,而如果您使用 JNI 接口,您将能够直接与 jar 中的库和类进行交互,并执行诸如调用单个函数或创建一类。但是,如果您不需要类似的东西,我认为使用exec
要简单得多,而且运行速度也会更快。听起来您只想将 Java 应用程序作为独立进程运行,并记录应用程序是成功完成还是出现错误。我会说最好只是使用exec
它。以这种方式执行子进程也有利于调试,有时调试 JNI 错误会非常困难。
2)至于是否从文件中读取参数,是的,从某种文件中读取通常比直接传入参数更好。它不太容易出现人为错误(即每次都输入参数),并且更易于配置。如果像 QA 工程师这样的人只需要编辑一个配置文件来交换选项,他们就不需要了解你的整个代码库来测试它。我个人为我编写的每个 Java 程序使用配置文件。
归档时间: |
|
查看次数: |
5930 次 |
最近记录: |