• 使用JDK自带java.util.logging.Logger引起的冲突问题


    现象:

            应用代码如下:

    1. import javax.script.ScriptEngineManager;
    2. ScriptEngineManager manager = new ScriptEngineManager();
    3. manager.getEngineByName("JavaScript");

    在TongWeb8上运行出错,日志如下:

    1. Servlet.service() for servlet [aaa] in context with path [web] threw exception [Servlet execution threw an exception] with root cause java.lang.NullPointerException
    2. at java.lang.invoke.MethodHandles.insertArgumentsChecks(MethodHandles.java:2400)
    3. at java.lang.invoke.MethodHandles.insertArguments(MethodHandles.java:2369)
    4. at jdk.nashorn.internal.lookup.MethodHandleFactory.addDebugPrintout(MethodHandleFactory.java:287)
    5. at jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality.debug(MethodHandleFactory.java:376)
    6. at jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality.findStatic(MethodHandleFactory.java:543)
    7. at jdk.nashorn.internal.lookup.Lookup.findOwnMH(Lookup.java:225)
    8. at jdk.nashorn.internal.lookup.Lookup.(Lookup.java:54)
    9. at jdk.nashorn.internal.codegen.CompilerConstants.staticCall(CompilerConstants.java:579)
    10. at jdk.nashorn.internal.runtime.JSType.(JSType.java:82)
    11. 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
    12. at jdk.nashorn.internal.runtime.Context.initLoggers(Context.java:1404)
    13. at jdk.nashorn.internal.runtime.Context.(Context.java:549)
    14. at jdk.nashorn.internal.runtime.Context.(Context.java:466)
    15. at jdk.nashorn.api.scripting.NashornScriptEngine$1.run(NashornScriptEngine.java:129)
    16. at jdk.nashorn.api.scripting.NashornScriptEngine$1.run(NashornScriptEngine.java:125)
    17. at java.security.AccessController.doPrivileged(Native Method)
    18. at jdk.nashorn.api.scripting.NashornScriptEngine.(NashornScriptEngine.java:125)
    19. at jdk.nashorn.api.scripting.NashornScriptEngineFactory.getScriptEngine(NashornScriptEngineFactory.java:148)
    20. at javax.script.ScriptEngineManager.getEngineByName(ScriptEngineManager.java:238)

    原因及解决办法:

             TongWeb8接管了java.util.logging.Logger日志,可以关闭 “接管 Java Logger”  来解决。

  • 相关阅读:
    【C++】:内存管理:C++内存分布 || C++中动态内存管理(new || delete)
    UI/UX design
    数据结构(七)约瑟夫问题
    顺序表详解(SeqList)
    mysql 查询某字段中以逗号分隔的字符串的方法
    【Spring boot 拦截器 HandlerInterceptor】
    Leetcode(452)——用最少数量的箭引爆气球
    怎么查找Linux服务器是否有后门账户
    hardhat 教程及 hardhat-deploy 插件使用
    每日刷题记录 (九)
  • 原文地址:https://blog.csdn.net/realwangpu/article/details/134506218