在我本地的 jBoss 机器上,PDF 的生成工作正常。但是,当我尝试发布(到目前为止似乎如此)时,基本上 NetWeaver 上的任何内容都部署了相同的应用程序代码,生成崩溃并出现以下错误:
08-06-18:00:46:45 [HTTP Worker [@802492534]] ERROR [JRStyledTextParser:paveljanicek] Error while loading available fonts
net.sf.jasperreports.engine.JRRuntimeException: javax.xml.parsers.ParserConfigurationException
at net.sf.jasperreports.engine.fonts.SimpleFontExtensionHelper.<init>(SimpleFontExtensionHelper.java:156)
at net.sf.jasperreports.engine.fonts.SimpleFontExtensionHelper.getInstance(SimpleFontExtensionHelper.java:131)
at net.sf.jasperreports.engine.fonts.FontExtensionsRegistry.ensureFontExtensions(FontExtensionsRegistry.java:80)
at net.sf.jasperreports.engine.fonts.FontExtensionsRegistry.getExtensions(FontExtensionsRegistry.java:57)
at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.getExtensions(DefaultExtensionsRegistry.java:130)
at net.sf.jasperreports.engine.util.JRStyledTextParser.<clinit>(JRStyledTextParser.java:86)
at net.sf.jasperreports.engine.fill.JRBaseFiller.<init>(JRBaseFiller.java:111)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:69)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:57)
at net.sf.jasperreports.engine.fill.JRFiller.createBandReportFiller(JRFiller.java:219)
at net.sf.jasperreports.engine.fill.JRFiller.createReportFiller(JRFiller.java:234)
at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:134)
最糟糕的是,我想不出如何重现这个错误。这是我已经在目标机器上检查过的:
- 字体已安装并可供应用程序访问
- Jasper 报告可以访问 jasperreports-fonts.jar
在我的本地机器上:
- PDF 确实会生成警告(我使用的是 issplitAllowed 或边框等旧属性)
- 如果字体被删除,本地实例崩溃并出现不同的错误(主要是“字体对 JVM 不可用”)
有谁知道要检查什么,在哪里看?