所以,我的问题如下:
可以说,我有一个需要预加载的js模块库。 我现在有几个脚本需要能够运行而不会干扰其他脚本。
脚本如下所示:
function A(){
}
function B(){
}
我想要做的是从脚本1调用函数A,从脚本2调用函数A.但是只有最后一个脚本被正确执行,因为它与我调用的是相同的ScriptEngine。
我试过这样的尝试:
public static ScriptEngine eval(BufferedReader file) throws ScriptException {
SimpleScriptContext context = new SimpleScriptContext();
context.getBindings(ScriptContext.ENGINE_SCOPE).putAll(engine.getBindings(ScriptContext.ENGINE_SCOPE));
ScriptEngine dengine = new NashornScriptEngineFactory().getScriptEngine("-strict");
dengine.eval(file,context);
ClassLoader cl = MyClass.getInstance().getClass().getClassLoader();
Thread.currentThread().setContextClassLoader(cl);
return dengine;
}
创建多个ScriptEngines。但那失败了。那么什么是正确的尝试,克隆"已经加载脚本而不重新运行它们?