我试图让我的 Node.js 代码调用我的 Java 代码,但是当我运行时
% ls -la /Users/ekolotyluk/.m2/repository/com/fispan/crypto/common/0.1.0-SNAPSHOT/common-0.1.0-SNAPSHOT.jar
-rw-r--r--@ 1 ekolotyluk staff 15218 17 Mar 06:19 /Users/ekolotyluk/.m2/repository/com/fispan/crypto/common/0.1.0-SNAPSHOT/common-0.1.0-SNAPSHOT.jar
% $GRAALVM_HOME/bin/node --jvm —-vm.cp=/Users/ekolotyluk/.m2/repository/com/fispan/crypto/common/0.1.0-SNAPSHOT/common-0.1.0-SNAPSHOT.jar --polyglot src/index.js
我回来
internal/modules/cjs/loader.js:815
const err = new Error(message);
^
Error: Cannot find module '/Users/ekolotyluk/dev/fispan/microservices/file-service/—-jvm.cp=/Users/ekolotyluk/.m2/repository/com/fispan/crypto/common/0.1.0-SNAPSHOT/common-0.1.0-SNAPSHOT.jar'
at Function._resolveFilename (internal/modules/cjs/loader.js:815:15)
at Function._load (internal/modules/cjs/loader.js:667:27)
at Function.executeUserEntryPoint (internal/modules/run_main.js:60:12)
at internal/main/run_main_module.js:17:47 {
code: 'MODULE_NOT_FOUND',
requireStack: []
}
- 当 Graal-node 是选项的参数时,为什么 Graal-node 认为我的 jar 是节点模块
vm.cp=
? - Graal-node 似乎正在破坏该
--vm.cp=
选项 - 我已经检查了几次jar文件的文件系统路径,它确实在那里
- 还有什么我在某处缺少的东西吗?
- 我可以从 Node.js 调用 Java 库,但现在我想调用我自己的代码......
我的 Graal 版本是
% java -version
openjdk version "11.0.10" 2021-01-19
OpenJDK Runtime Environment GraalVM CE 21.0.0.2 (build 11.0.10+8-jvmci-21.0-b06)
OpenJDK 64-Bit Server VM GraalVM CE 21.0.0.2 (build 11.0.10+8-jvmci-21.0-b06, mixed mode, sharing)
任何想法将不胜感激......
经过更多调查并运行命令
$GRAALVM_HOME/bin/node --help
$GRAALVM_HOME/bin/node --help:vm
与我一直在阅读的所有文档和示例相反,似乎没有任何--vm.cp=
选择。