这个异常的原因是:java.lang.NoClassDefFoundError: Could not initialize class sun.font.SunFontManager - openjdk-jre-11.0.22

问题描述 投票:0回答:1

我们最近在一些运行 Coldfusion 的虚拟 Ubuntu 20 服务器上升级了 Java。

我们从 java-8-oracle 升级到 openjdk-jre-11.0.22。大多数服务器都很好,但每当我们使用 cfdocument 标签创建 PDF 时,少数服务器就会抛出此错误。我以为所有这些服务器都是相同的,但我想不是。

从此处下载 Java 11 JRE - https://builds.openlogic.com/downloadJDK/openlogic-openjdk-jre/11.0.22+7/openlogic-openjdk-jre-11.0.22+7-linux-x64。 tar.gz

这是整个堆栈跟踪:

java.lang.NoClassDefFoundError: Could not initialize class sun.font.SunFontManager at java.desktop/sun.font.FontDesignMetrics.getMetrics(Unknown Source) at java.desktop/sun.java2d.SunGraphics2D.getFontMetrics(Unknown Source) at ice.pilots.html4.FractionalDeviceFontProvider.getFontMetrics(FractionalDeviceFontProvider.java:63) at ice.pilots.html4.FontCache.loadNewFont(FontCache.java:742) at ice.pilots.html4.FontCache.getFontMetrics(FontCache.java:710) at ice.pilots.html4.CSSAttribs.getFontMetrics(CSSAttribs.java:380) at ice.pilots.html4.CSSAttribs.getFont(CSSAttribs.java:368) at ice.pilots.html4.TextBox.initBreaks(TextBox.java:209) at ice.pilots.html4.TextBox.calcBreaks(TextBox.java:134) at ice.pilots.html4.InlineBox.calcBreaks(InlineBox.java:439) at ice.pilots.html4.BlockBox.calcMinMaxWidths(BlockBox.java:297) at ice.pilots.html4.BlockBox.calcMinMaxWidths(BlockBox.java:231) at ice.pilots.html4.BlockBox.calcMinMaxWidths(BlockBox.java:231) at ice.pilots.html4.CSSLayout.do_layout(CSSLayout.java:836) at ice.pilots.html4.CSSLayout.layout(CSSLayout.java:777) at ice.pilots.html4.ThePrinter.<init>(ThePrinter.java:72) at ice.pilots.html4.ThePilot.createCSSLayout(ThePilot.java:235) at ice.pilots.html4.ThePilot.createPrinter(ThePilot.java:330) at coldfusion.document.DocumentExporter.export(DocumentExporter.java:112) at coldfusion.document.DocumentExporter.export(DocumentExporter.java:38) at coldfusion.document.DocumentFrame.exportContent(DocumentFrame.java:162) at coldfusion.document.DocumentProcessor.processContent(DocumentProcessor.java:292) at coldfusion.document.DocumentProcessor.processContent(DocumentProcessor.java:179) at coldfusion.tagext.lang.DocumentTag.processContent(DocumentTag.java:1871) at coldfusion.tagext.lang.DocumentTag._processContent(DocumentTag.java:1772) at coldfusion.tagext.lang.DocumentTag.doAfterBody(DocumentTag.java:1704) at cftemp2ecfm140041135.runPage(/var/www/servers/theasot/root/htdocs/custom/temp.cfm:9) at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:254) at coldfusion.tagext.lang.IncludeTag.handlePageInvoke(IncludeTag.java:743) at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:573) at coldfusion.filter.CfincludeFilter.invoke(CfincludeFilter.java:65) at coldfusion.filter.IpFilter.invoke(IpFilter.java:45) at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:505) at coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:43) at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40) at coldfusion.filter.PathFilter.invoke(PathFilter.java:153) at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:94) at coldfusion.filter.BrowserDebugFilter.invoke(BrowserDebugFilter.java:78) at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28) at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38) at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:60) at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38) at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22) at coldfusion.filter.CachingFilter.invoke(CachingFilter.java:62) at coldfusion.CfmServlet.service(CfmServlet.java:223) at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42) at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at coldfusion.inspect.weinre.MobileDeviceDomInspectionFilter.doFilter(MobileDeviceDomInspectionFilter.java:121) at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:200) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:544) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:359) at org.apache.coyote.ajp.AjpProcessor.service(AjpProcessor.java:552) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:831) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1634) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.base/java.lang.Thread.run(Unknown Source)

我尝试重新安装Java,但仍然没有成功。感谢您的任何反馈/帮助!

java coldfusion java-11
1个回答
0
投票

NoClassDefFoundError 通常意味着您正在使用一个版本的 java 进行编译,然后使用不同的版本运行。

sun.SunFontManager 是一个可能不会包含在每个 J2RE 中的类,当然不适用于 J2EE 服务器 java。如果您在 J2EE 中需要这个,那么您应该考虑移植它(并获得这样做的许可)。如果问题出在 J2SE 上,那么需要确保运行该程序的所有计算机都有一个包含此类的 java JRE。

© www.soinside.com 2019 - 2024. All rights reserved.