应用代码如下:
- import javax.script.ScriptEngineManager;
-
- ScriptEngineManager manager = new ScriptEngineManager();
- manager.getEngineByName("JavaScript");
在TongWeb8上运行出错,日志如下:
- Servlet.service() for servlet [aaa] in context with path [web] threw exception [Servlet execution threw an exception] with root cause java.lang.NullPointerException
- at java.lang.invoke.MethodHandles.insertArgumentsChecks(MethodHandles.java:2400)
- at java.lang.invoke.MethodHandles.insertArguments(MethodHandles.java:2369)
- at jdk.nashorn.internal.lookup.MethodHandleFactory.addDebugPrintout(MethodHandleFactory.java:287)
- at jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality.debug(MethodHandleFactory.java:376)
- at jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality.findStatic(MethodHandleFactory.java:543)
- at jdk.nashorn.internal.lookup.Lookup.findOwnMH(Lookup.java:225)
- at jdk.nashorn.internal.lookup.Lookup.
(Lookup.java:54) - at jdk.nashorn.internal.codegen.CompilerConstants.staticCall(CompilerConstants.java:579)
- at jdk.nashorn.internal.runtime.JSType.
(JSType.java:82) -
-
-
- Servlet.service() for servlet [aaa] in context with path [web] threw exception [Servlet execution threw an exception] with root cause java.lang.NoClassDefFoundError: Could not initialize class jdk.nashorn.internal.lookup.MethodHandleFactory
- at jdk.nashorn.internal.runtime.Context.initLoggers(Context.java:1404)
- at jdk.nashorn.internal.runtime.Context.
(Context.java:549) - at jdk.nashorn.internal.runtime.Context.
(Context.java:466) - at jdk.nashorn.api.scripting.NashornScriptEngine$1.run(NashornScriptEngine.java:129)
- at jdk.nashorn.api.scripting.NashornScriptEngine$1.run(NashornScriptEngine.java:125)
- at java.security.AccessController.doPrivileged(Native Method)
- at jdk.nashorn.api.scripting.NashornScriptEngine.
(NashornScriptEngine.java:125) - at jdk.nashorn.api.scripting.NashornScriptEngineFactory.getScriptEngine(NashornScriptEngineFactory.java:148)
- at javax.script.ScriptEngineManager.getEngineByName(ScriptEngineManager.java:238)
TongWeb8接管了java.util.logging.Logger日志,可以关闭 “接管 Java Logger” 来解决。
