首页 > 解决方案 > 原因:java.lang.NoClassDefFoundError:无法初始化类 net.sf.jasperreports.engine.util.JRStyledTextParser

问题描述

我有一个带有 OpenJdk 版本“1.8.0_262”的 linux 操作系统。从基于 Web 的应用程序生成 jasper pdf 信函时,我收到如下错误。

原因:java.lang.NoClassDefFoundError:无法在 net.sf.jasperreports.engine.fill.JRBaseFiller.(JRBaseFiller.java:116) [jasperreports-6.13.0 初始化类 net.sf.jasperreports.engine.util.JRStyledTextParser .jar:6.13.0-46ada4d1be8f3c5985fd0b6146f3ed44caed6f05] at net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:79) [jasperreports-6.13.0.jar:6.13.0-46ada4d1be8f3c5985fd0b6146f3ed44caed6f05] at net.sf.jasperreports .engine.fill.JRFiller.createBandReportFiller(JRFiller.java:251) [jasperreports-6.13.0.jar:6.13.0-46ada4d1be8f3c5985fd0b6146f3ed44caed6f05] 在 net.sf.jasperreports.engine.fill.JRFiller.createReportFiller(JRFiller.java:272 ) [jasperreports-6.13.0.jar:6.13.0-46ada4d1be8f3c5985fd0b6146f3ed44caed6f05] 在 net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:156) [jasperreports-6.13.0.jar:6.13。0-46ada4d1be8f3c5985fd0b6146f3ed44caed6f05] at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:145) [jasperreports-6.13.0.jar:6.13.0-46ada4d1be8f3c5985fd0b6146f3ed44caed6f05] at net.sf.jasperreports.engine.JasperFillManager .fill(JasperFillManager.java:758) [jasperreports-6.13.0.jar:6.13.0-46ada4d1be8f3c5985fd0b6146f3ed44caed6f05] 在 net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:1074) [jasperreports-6.3 jar:6.13.0-46ada4d1be8f3c5985fd0b6146f3ed44caed6f05] 在 net.atos.wlp.lgs.provider.formatter.AbstractPrintFormatter.generatePrintData(AbstractPrintFormatter.java:52) [wlp-lgs-provider-IBO-21Q2-1.0.jar:IBO-21Q2- 1.0] 在 net.atos.wlp.lgs.provider.formatter.SemiDynamicPrintFormatter.getPrintData(SemiDynamicPrintFormatter.java:74) [wlp-lgs-provider-IBO-21Q2-1.0.jar:IBO-21Q2-1.0] 在 net.atos .wlp.lgs。provider.controller.ServiceController.generateJasterLetter(ServiceController.java:78) [wlp-lgs-provider-IBO-21Q2-1.0.jar:IBO-21Q2-1.0] 在 net.atos.wlp.lgs.provider.controller.ServiceController。 generateLetter(ServiceController.java:62) [wlp-lgs-provider-IBO-21Q2-1.0.jar:IBO-21Q2-1.0] 在 net.atos.wlp.lgs.provider.LetterGenerationServiceImpl.generateLetter(LetterGenerationServiceImpl.java:132) [wlp-lgs-provider-IBO-21Q2-1.0.jar:IBO-21Q2-1.0] 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.8.0_282] 在 sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) [rt.jar:1.8.0_282] 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.8.0_282] 在 java.lang.reflect.Method.invoke (Method.java:498) [rt.jar:1.8.0_282] 在 org.jboss.as.ee.component。ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptor.java:52)

作为故障排除的一部分,我已经验证了以下几点

  1. Standalone.conf (JBOSS EAP-7.3) 文件的值低于 Djava.awt.headless=true

  2. ../WEB-INF/lib 中没有不同版本的“jasperreports”jar。只有 jasperreports-6.13.0.jar 存在。

  3. 为了检查linux操作系统中安装的字体,“fc-list”命令没有被识别,可能是因为操作系统中没有安装字体?

感谢您对解决此问题的任何帮助。我检查了现有的 smilar 主题,但没有得到太多帮助。

标签: jasper-reports

解决方案


推荐阅读