Java 如何在nodejs spawn方法中提供-Dlogback.configurationFile=./logback.xml选项

Java 如何在nodejs spawn方法中提供-Dlogback.configurationFile=./logback.xml选项,java,node.js,Java,Node.js,我有angular2-node.js应用程序。我正在通过节点服务器执行一个jar文件 Jar执行正常,但它使用Jar文件中的logback.xml 节点js代码: app.get('/report/:parameter1/:parameter2', function(req, res) { var fileName = path.join(__dirname, '..', 'javaFile', 'xyz.jar'); spawn('/usr/bin/java', ['-jar ', fil

我有angular2-node.js应用程序。我正在通过节点服务器执行一个jar文件

Jar执行正常,但它使用Jar文件中的logback.xml

节点js代码:

app.get('/report/:parameter1/:parameter2', function(req, res) {

var fileName = path.join(__dirname, '..', 'javaFile', 'xyz.jar');

spawn('/usr/bin/java', ['-jar ', fileName, parameter1 , parameter2, '&'],{
                                            stdio : ['ignore', out, err],
                            detached : true }).unref();

data = '{response: Success}';
res.status(200).json(data);
res.end();
});
我想在从UI运行jar时引用不同的logback.xml文件来执行jar。因此,我尝试了以下代码:

spawn('/usr/bin/java', ['-jar -Dlogback.configurationFile=./logback.xml', fileName, cacheName , cacheType, '&'],{
                                            stdio : ['ignore', out, err],
                            detached : true }).unref();
但是,它也不起作用,并抛出以下错误:

Unrecognized option: -jar -Dlogback.configurationFile=./logback.xml
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
我是NodeJS的新手。我在网上搜索了一下,但没有找到答案

是否有任何方法可以在node.js代码中动态提供logback.xml文件,就像我们在shell脚本中所做的那样,如下所示:

nohup java -jar -Dlogback.configurationFile=./logback.xml xyz.jar

任何人都可以为此提供解决方案。

args参数是
,因此您应该将多个arg拆分为数组的多个元素,就像您对其他参数所做的那样。您可以检查方法的签名

试试看

spawn('/usr/bin/java'、['-jar'、'-Dlogback.configurationFile=./logback.xml']、…..