当前位置: 首页 > 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/news/134678.html

相关文章:

  • 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-项目实战
  • 硬盘无法格式化怎么办?
  • ModStartCMS v7.6.0 CMS备份恢复优化,主题开发文档更新
  • ESP32 Arduino实战协议篇-搭建独立的 Web 服务器
  • APP源码|智慧校园电子班牌源码 智慧校园云平台
  • Elasticsearch备份与还原:使用elasticdump
  • C#入门(5):数组、一维数组,二维数组、交错数组、数组复制
  • 数据资产入表,给企业带来的机遇和挑战
  • 02-1解析xpath
  • String的字符串拼接
  • 通付盾Web3专题 | KYT/AML:Web3合规展业的必要条件