如何在Node.js Express应用中运行Java代码

我一直在使用node.js进行开发。在某些情况下,我需要执行用Java编写的程序。一个具有主要功能的简单类。通过我的.java文件。因此,我需要从Node.js应用程序中调用Java程序,以便该程序启动并进行一些计算,然后将其打印在屏幕上。我需要在某些node.js变量中使用该处理后的值,以便可以在我的node.js Express应用程序中使用它。

我已经看到了一些建议解决方案,建议使用子进程,spawn和exec等。但是我尝试了所有这些解决方案并遇到错误。有时ENONET错误,有时缓冲错误。可能是由于在使用Ubuntu OS时Windows平台给出了答案。我的Main.java文件位于node.js程序的父目录中。需要您的宝贵支持。

zphandwll 回答:如何在Node.js Express应用中运行Java代码

论坛上提供了不同的答案,但我提供了运行Java程序所涉及步骤的分解。 步骤1.从yourCode.java创建.jar文件。(需要在系统上安装Java开发工具包)。 链接https://www.tecmint.com/create-and-execute-jar-file-in-linux/

中说明了该过程

完成后,将.jar文件放置在node.js应用程序的父目录中,并使用以下代码。这是一个完整的功能,可以从Express应用程序调用。

        const executeJava = () => {
        return new Promise((resolve,reject) => {
            const child = exec('java -jar main.jar',function (error,stdout,stderr) {
                console.log('Value at stdout is: ' + stdout); // here you get your result. In my case I did'nt needed to pass arguments to java program.
                resolve(stdout);
                if (error !== null) {
                    console.log('exec error: ' + error);
                    reject(error);
                }
            });
        })
    }

// you can call this function from your node.js express app using
// const myResult = await executeJava();
本文链接:https://www.f2er.com/3076127.html

大家都在问