當我想運行用 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
但是當我jjs從 Java/bin 目錄直接呼叫時,它作業正常:
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 引擎添加到我的類路徑?我應該設定一些特定的引數嗎?
uj5u.com熱心網友回復:
您有一個 JRE,Java 運行時引擎不包括用于處理您的腳本的 Nashorn 引擎,例如 JavaScript。
您的選擇:
- 獲取一個 JDK(確保它是 8 或 11,因為 Nashorn 在 LTS post 11 中被洗掉)
- 使用 GraalVM 來運行 SQLcl
在即將發布的版本中,我們將檢測到此缺失,并在您嘗試運行腳本時提供為您獲取。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/345312.html
