首页 > 解决方案 > 在 Nodejs 中运行一个 jar 作为一个单独的进程

问题描述

有没有办法将 Nodejs 中的 jar 作为独立进程运行。我尝试使用 exec。但每次它都会创建一个新进程。有没有办法在一个独立的进程中继续运行 jar 并在需要时调用它的程序?

此外,当产生它的进程被杀死时,该进程将被杀死。

有没有办法做到这一点?

我正在为 VSCode 编写扩展。我尝试了 node-java npm 模块(https://github.com/joeferner/node-java)。但我遇到了以下错误

Activating extension `Adobe.adobe-mardown-previewer` failed:  A dynamic link library (DLL) initialization routine failed.
node_modules\java\build\Release\nodejavabridge_bindings.node
Here is the error stack:  Error: A dynamic link library (DLL) initialization routine failed.
node_modules\java\build\Release\nodejavabridge_bindings.node
    at process.module.(anonymous function) [as dlopen] (ELECTRON_ASAR.js:173:20)
    at Object.Module._extensions..node (module.js:598:18)
    at Object.module.(anonymous function) [as .node] (ELECTRON_ASAR.js:173:20)
    at Module.load (module.js:488:32)
    at tryModuleLoad (module.js:447:12)
    at Function.Module._load (module.js:439:3)
    at Function.J.Z.t.getExtensionPathIndex.then.o._load (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\node\extensionHostProcess.js:653:398)
    at Module.require (module.js:498:17)
    at Module.patchedRequire [as require] (c:\Program Files\Microsoft VS Code\resources\app\extensions\git\node_modules\diagnostic-channel\dist\src\patchRequire.js:14:46)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (C:\Users\xxxxx\Downloads\live-html-preview-master\node_modules\java\lib\nodeJavaBridge.js:21:16)
    at Object.<anonymous> (C:\Users\xxxxx\Downloads\live-html-preview-master\node_modules\java\lib\nodeJavaBridge.js:316:3)

标签: javanode.jsvisual-studio-codevscode-extensionsnode-java

解决方案


推荐阅读