当前位置: 首页 > article >正文

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

现象:

        应用代码如下:

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.<clinit>(Lookup.java:54)
	at jdk.nashorn.internal.codegen.CompilerConstants.staticCall(CompilerConstants.java:579)
	at jdk.nashorn.internal.runtime.JSType.<clinit>(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.<init>(Context.java:549)
	at jdk.nashorn.internal.runtime.Context.<init>(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.<init>(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”  来解决。


http://www.kler.cn/a/134678.html

相关文章:

  • Kettle配置数据源错误“Driver class ‘org.gjt.mm.mysql.Driver‘ could not be found”解决记录
  • 《Python Web 抓取实战:豆瓣电影 Top 250 数据抓取与分析》
  • 任何使用 Keras 进行迁移学习
  • 2个word内容合并
  • 微信小程序的主体文件和页面文件介绍
  • 亲测有效:Maven3.8.1使用Tomcat8插件启动项目
  • HTTP(Hypertext Transfer Protocol)协议
  • Cadence virtuoso drc lvs pex 无法输入
  • AlmaLinux download
  • 开发中遇到的问题
  • HarmonyOS开发(四):应用程序入口UIAbility
  • 小米手环8pro重新和手机配对解决办法
  • java: 无法访问org.mybatis.spring.annotation.MapperScan
  • 智能货柜:无人零售行业的新宠
  • JDBC编程
  • 阿里云CentOS主机开启ipv6
  • Windows10下Maven3.9.5安装教程
  • 代码逻辑修复与其他爬虫ip库的应用
  • 探索SPI:深入理解原理、源码与应用场景
  • 【Matterport3D模拟器安装详细教程】适用于离散视觉语言导航任务的环境部署与安装
  • python django 小程序博客源码
  • 如何保护PayPal账户安全:防止多个PayPal账号关联?
  • 【服务器学习】hook模块
  • SIMULIA|Abaqus 2022x新功能介绍第三弹
  • 【面试经典150 | 数学】回文数
  • 计算机毕业设计选题推荐-个人博客微信小程序/安卓APP-项目实战