为什么 GraalVM-node 找不到我的 jar 文件?

问题描述

我试图让我的 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: []
}
  1. 为什么 Graal-node 认为我的 jar 是一个节点模块,但它是 vm.cp= 选项的参数?
  2. Graal-node 似乎修改了 --vm.cp= 选项
  3. 我已经多次检查了 jar 文件的文件系统路径,它确实存在
  4. 还有什么我遗漏的地方吗?
  5. 我可以从 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= 选项,与我阅读的所有文档和示例相反。 ?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)