在打开电子表格报表时报错,提示“未指定错误,请查看详细信息”,点击错误提示对话框上的“显示详细信息”,可以看到 java.lang.NoClassDefFoundError: Could not initialize class sun.awt.Win32FontManager 错误信息。

*** 若需要导出错误日志请联系管理员 ***
未指定错误,请查看详细信息
	at smartbi.framework.rmi.ClientService.execute(Smartbi:123)
	at ...(...)
	at smartbi.eb.a(Smartbi:47)
Caused by: java.lang.NoClassDefFoundError: Could not initialize class sun.awt.Win32FontManager
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:270)
	at sun.font.FontManagerFactory$1.run(FontManagerFactory.java:82)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.font.FontManagerFactory.getInstance(FontManagerFactory.java:74)
	at java.awt.Font.<init>(Font.java:613)
	at java.awt.Font.createFont(Font.java:1055)
	at com.aspose.cells.a.d.zfr.i(Unknown Source)
	at com.aspose.cells.a.d.zfr.c(Unknown Source)
	at com.aspose.cells.a.d.zfr.a(Unknown Source)
	at com.aspose.cells.b.a.b.zg.<init>(Unknown Source)
	at com.aspose.cells.b.a.b.zg.<init>(Unknown Source)
	at com.aspose.cells.a.c.zn.a(Unknown Source)
	at com.aspose.cells.a.c.zn.a(Unknown Source)
	at com.aspose.cells.zbdr.a(Unknown Source)
	at com.aspose.cells.WorksheetCollection.N(Unknown Source)
	at com.aspose.cells.zacx.a(Unknown Source)
	at com.aspose.cells.zacx.b(Unknown Source)
	at com.aspose.cells.zadd.r(Unknown Source)
	at com.aspose.cells.zadd.a(Unknown Source)
	at com.aspose.cells.zadc.a(Unknown Source)
	at com.aspose.cells.Workbook.a(Unknown Source)
	at com.aspose.cells.Workbook.<init>(Unknown Source)
	at smartbi.eb.a(Smartbi:47)
	at smartbi.cj.a(Smartbi:843)
	at smartbi.cj.a(Smartbi:85)
	at smartbi.cj.a(Smartbi:138)
	at smartbi.cj.a(Smartbi:118)
	at smartbi.cq.a(Smartbi:138)
	at smartbi.cg.a(Smartbi:379)
	at smartbi.spreadsheetreport.SpreadsheetReportModule.openQuery(Smartbi:455)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at smartbi.framework.rmi.ClientService.execute(Smartbi:107)
	at smartbi.framework.rmi.RMIServlet.processExecute(RMIServlet.java:186)
	at smartbi.framework.rmi.RMIServlet.doPost(RMIServlet.java:129)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at smartbi.extension.ExtensionFilter$2.doFilter(ExtensionFilter.java:125)
	at smartbi.extension.ExtensionFilter$1.doFilter(ExtensionFilter.java:114)
	at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:202)
	at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:180)
	at smartbi.extension.ExtensionFilter$1.doFilter(ExtensionFilter.java:114)
	at smartbi.extension.ExtensionFilter.doFilterInternal(ExtensionFilter.java:134)
	at smartbi.extension.ExtensionFilter.doFilter(ExtensionFilter.java:43)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at smartbi.framework.rmi.TransactionFilter.doFilter(Smartbi:47)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at smartbi.freequery.filter.GZIPFilter.doFilter(GZIPFilter.java:51)
	at smartbi.freequery.filter.Filter.doFilter(Filter.java:36)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at smartbi.freequery.filter.CheckIsLoggedFilter.doFilter(CheckIsLoggedFilter.java:99)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
	at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1822)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:744)


或者,直接看到如下图所示的错误页面。


方案一、上述错误,是由于 JDK 的原因造成的。解决办法:直接替换 JDK 即可。比如对于 tomcat 应用服务器,先在服务器上安装一个最新的 JDK 版本,然后打开 <tomcat>\bin 目录下的 startup.sh/startup.bat 文件,修改JAVA_HOME环境变量,替换JDK即可。


方案二、请将附件fonts.zip解压到jdk\jre\lib\目录,即确保jdk\jre\lib\fonts\LucidaBrightDemiBold.ttf等8个字体文件存在

方案三、实际上跟X11的问题原因一样,都是图形渲染调用接口的问题,参考文档添加参数不启用X11环境解决:正常启动X11环境

网上说明可参考:https://blog.csdn.net/TheShawshank/article/details/86216071