You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JsiiEngine createNewObject调用ProcessBuilder启动时抛异常,如何解决?

解决JsiiEngine调用ProcessBuilder.start时抛出的"node: No such file or directory"异常

这个异常的核心原因是Java进程找不到Node.js可执行文件——Jsii运行时依赖Node.js执行JavaScript代码,调用createNewObject时会启动Node进程,但系统环境变量里没有配置Node的路径,或者Java进程无法读取到该路径。

以下是具体解决步骤:

  • 安装Node.js:如果系统还没安装Node.js,先安装官方LTS版本,确保安装完成后在终端执行node -v能正常输出版本号。
  • 检查并配置PATH环境变量:
    • 终端执行node -v报错的话,把Node.js的安装目录(比如Windows下的C:\Program Files\nodejs,Linux/macOS下的/usr/local/bin)添加到系统PATH环境变量中。
    • 如果是在IDE中运行项目,需要重启IDE让新的环境变量生效,也可以直接在IDE的运行配置里手动添加PATH变量。
  • 手动指定Node路径:如果PATH无法修改,或者Java进程读不到PATH,可以通过JVM参数或代码手动指定Node的绝对路径:
    • 启动Java程序时添加JVM参数:
      -Djsii.node=/绝对路径/node
      
    • 或者在代码初始化阶段设置:
      System.setProperty("jsii.node", "/绝对路径/node");
      
  • 验证修复:重启应用后重新触发相关操作,确认异常是否消失。

内容的提问来源于stack exchange,提问作者Kannan J

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 04:54:56