【问题标题】:SQLcl is unable to find js engine to process js scriptsSQLcl 找不到 js 引擎来处理 js 脚本
【发布时间】:2021-11-02 23:17:15
【问题描述】:

当我想运行用 js 编写的脚本时,我收到一条消息,提示我的类路径中缺少 js 引擎:

SQL> script
  2  ctx.write('hi');
  3* /
js language engine not found
Please add js language engine to the classpath
SQL>

这是我的 Java 参数:

PS C:\run_scripts_sqlcl> sql /nolog
Picked up JAVA_TOOL_OPTIONS: -Duser.language=en


SQLcl: Release 21.3 Production on Tue Nov 02 17:54:24 2021

Copyright (c) 1982, 2021, Oracle.  All rights reserved.

SQL> show java
Java Detail
-----------
java.home= C:\Program Files\Java\jre1.8.0_291
java.vendor= Oracle Corporation
java.vendor.url= http://java.oracle.com/
java.version= 1.8.0_291
--------------------------------------------------------------------------------
os.arch= amd64
os.name= Windows 10
os.version= 10.0
path.separator= ;
file.separator= \
line.separator=

user.dir= C:\run_scripts_sqlcl
user.home= C:\Users\user
user.name= user
user.language= en
user.region= null
file.encoding= Cp1251
Used memory: 78.1MB
Max available memory: 1,820.5MB
--------------------------------------------------------------------------------
SQL_HOME=null
Classpath

--------------------------------------------------------------------------------
null

但是当我直接从 Java/bin 目录调用 jjs 时,它工作正常:

PS C:\Program Files\Java\jre1.8.0_291\bin> .\jjs.exe
Picked up JAVA_TOOL_OPTIONS: -Duser.language=en
jjs> print('hi!')
hi!
jjs>

如何将 js 引擎添加到我的类路径?我应该设置一些具体的参数吗?

【问题讨论】:

    标签: java oracle sqlcl


    【解决方案1】:

    您有一个 JRE,Java 运行时引擎不包括用于处理您的脚本的 Nashorn 引擎,例如JavaScript。

    您的选择:

    • 获取一个 JDK(确保它是 8 或 11,因为 Nashorn 在 LTS 帖子 11 中已被删除)
    • 获取 GraalVM 以运行 SQLcl

    在即将发布的版本中,我们会检测到缺少此内容,并在您尝试运行脚本时为您提供。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-12
      • 1970-01-01
      • 2022-07-05
      • 1970-01-01
      相关资源
      最近更新 更多