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

已安装Oracle JDK 8时SQLcl 21.3运行JS脚本找不到引擎问题求助

问题原因

SQLcl 21.3运行JS脚本依赖Java的Nashorn JavaScript引擎,Oracle JDK 8默认内置该引擎,但你之前将CLASSPATH设置为%JDK_HOME%/bin属于无效配置(bin目录存放可执行文件,非类库路径),首先需要先删除该错误的环境变量配置。

可行解决方法

  • 方案1(优先尝试,操作最简单)

    启动SQLcl时添加Java参数强制加载内置JS引擎,PowerShell中执行的启动命令调整为:

    $env:JAVA_TOOL_OPTIONS="-Duser.language=en -Djavax.script.engine.name=javascript"
    sql /nolog
    

    启动后再次执行script相关命令即可正常识别JS引擎。

  • 方案2(手动补全依赖)

    若方案1无效,说明你当前的JDK8版本缺失Nashorn组件,手动补全依赖即可:

    1. 下载nashorn-core、asm两个必要的jar包,放入SQLcl安装目录下的lib文件夹中
    2. 重启SQLcl即可正常运行JS脚本
  • 方案3(更换适配的Java版本)

    不想手动配置依赖的话,直接将运行SQLcl的Java版本更换为11~14区间的Oracle JDK/OpenJDK即可,这几个版本默认内置完整的Nashorn引擎,SQLcl 21.3可直接识别无需额外配置。
    注意:不要使用JDK15及以上版本,这类版本已经正式移除了内置Nashorn引擎,反而会触发找不到JS引擎的报错


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 20:54:05