如何使用 jjs 参数启动 java nashorn

use*_*903 5 javascript java nashorn

我想阅读由 nashorn 引擎生成的字节码。我发现我需要的参数-d=*folder*也是我想应用乐观类型以获得更好的性能,这是由参数启用的-ot

我通过调用方法初始化引擎:

ScriptEngine engine = new ScriptEngineManager().getEngineByName("nashorn");
engine.setBindings(bindings, ScriptContext.ENGINE_SCOPE);
engine.eval(myscriptfile);
Run Code Online (Sandbox Code Playgroud)

但我还没有找到我应该把 jjs 参数放在哪里。

Att*_*edi 5

javax.scriptAPI不会让你通过这些参数。您需要使用显式 Nashorn API 来获取脚本引擎工厂:

import jdk.nashorn.api.scripting.NashornScriptEngineFactory;

NashornScriptEngineFactory factory = new NashornScriptEngineFactory();
ScriptEngine engine = factory.getScriptEngine("--optimistic-types=true", "-d=someFolder");
Run Code Online (Sandbox Code Playgroud)

希望有帮助。