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

SQLcl运行JS脚本提示找不到js引擎,如何将其添加到classpath?

问题原因

你使用的Oracle JDK 8本身内置了Nashorn JavaScript引擎(这也是你直接运行jjs工具正常的原因),但SQLcl启动时默认未加载包含该引擎的nashorn.jar包,因此触发类路径缺失JS引擎的报错。

解决方案

方法1:单次启动加参数(临时生效)

启动SQLcl时主动指定加载JDK内置的nashorn.jar包,命令如下:

sql -cp "C:\Program Files\Java\jre1.8.0_291\lib\ext\nashorn.jar" /nolog

注意:路径包含空格必须用英文双引号包裹,路径需和你show java输出的java.home实际路径匹配。
补充:如果上述命令不生效,可提前在终端设置JVM启动参数后再启动SQLcl:

set JAVA_TOOL_OPTIONS=%JAVA_TOOL_OPTIONS% -Xbootclasspath/a:"C:\Program Files\Java\jre1.8.0_291\lib\ext\nashorn.jar"

方法2:修改启动配置(永久生效)

找到SQLcl安装目录下bin文件夹内的sql.bat启动脚本,在脚本开头添加类路径配置:

set CLASSPATH=%CLASSPATH%;C:\Program Files\Java\jre1.8.0_291\lib\ext\nashorn.jar

保存后重新启动SQLcl即可,不需要每次手动加参数。

验证

启动后执行你的测试脚本:

script
ctx.write('hi');
/

正常输出hi即为配置成功。

内容的提问来源于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 15:54:07