gpt4 book ai didi

java - JasperReport 异常 : FontExtensionsRegistry. ensureFontExtensions : Loading font extensions from fonts. xml

转载 作者:太空宇宙 更新时间:2023-11-04 11:58:19 25 4
gpt4 key购买 nike

我刚刚完成了一个项目,但是当我把它放到生产环境中时,JasperReport 在 font.xml 上显示错误。我尝试在我的机器上的终端 (linux) 上运行该项目,但出现了同样的错误,只有当我在 Netebean 上运行时才有效。为什么要在 Netbeans 和终端上工作?

我的项目很简单,我生成 PDF 并通过电子邮件发送。结构是:

enter image description here

jasperreports_extension.properties:

net.sf.jasperreports.extension.registry.factory.fonts=net.sf.jasperreports.engine.fonts.SimpleFontExtensionsRegistryFactory
net.sf.jasperreports.extension.simple.font.families.arial=fonts.xml

字体.xml:

<fontFamily name="Arial">
<normal>fonts/Arial.ttf</normal>
<bold>fonts/Arial Bold.ttf</bold>
<italic>fonts/Arial Italic.ttf</italic>
<boldItalic>fonts/Arial Bold Italic.ttf</boldItalic>
<pdfEncoding>Identity-H</pdfEncoding>
<pdfEmbedded>true</pdfEmbedded>
<exportFonts>
<export key="net.sf.jasperreports.html">Arial, Helvetica, sans-serif</export>
<export key="net.sf.jasperreports.xhtml">Arial, Helvetica, sans-serif</export>
</exportFonts>
</fontFamily>

POM:

<dependencies>

<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.5</version>
</dependency>
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports</artifactId>
<version>5.5.0</version>
<exclusions>
<exclusion>
<groupId>jfree</groupId>
<artifactId>*</artifactId>
</exclusion>
<exclusion>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>*</artifactId>
</exclusion>
<exclusion>
<groupId>org.bouncycastle</groupId>
<artifactId>*</artifactId>
</exclusion>
<exclusion>
<groupId>bouncycastle</groupId>
<artifactId>*</artifactId>
</exclusion>
<exclusion>
<groupId>eclipse</groupId>
<artifactId>*</artifactId>
</exclusion>
<exclusion>
<groupId>org.codehaus.castor</groupId>
<artifactId>*</artifactId>
</exclusion>
<exclusion>
<groupId>xml-apis</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports-fonts</artifactId>
<version>6.0.0</version>
</dependency>

<dependency>
<groupId>net.sourceforge.barbecue</groupId>
<artifactId>barbecue</artifactId>
<version>1.5-beta1</version>
</dependency>

<dependency>
<groupId>pdfbox</groupId>
<artifactId>pdfbox</artifactId>
<version>0.7.3</version>
<scope>test</scope>
</dependency>

<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
<optional>true</optional>
</dependency>
</dependencies>

<build>

<pluginManagement>
<plugins>
<plugin>
<groupId>net.sourceforge.maven-taglib</groupId>
<artifactId>maven-taglib-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<goals>
<goal>taglibdocjar</goal>
</goals>
</execution>
</executions>
</plugin>
<!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jasperreports-maven-plugin</artifactId>
<versionRange>[1.0-beta-2,)</versionRange>
<goals>
<goal>compile-reports</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
</plugins>
</pluginManagement>

<plugins>
<plugin>
<groupId>net.sourceforge.maven-taglib</groupId>
<artifactId>maven-taglib-plugin</artifactId>
<version>2.4</version>
</plugin>

<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jasperreports-maven-plugin</artifactId>
<version>1.0-beta-2</version>
<configuration>
<sourceDirectory>src/main/resources</sourceDirectory>
<maven.compiler.source>1.6</maven.compiler.source>
<maven.compiler.target>1.6</maven.compiler.target>
<compiler>net.sf.jasperreports.engine.design.JRJdtCompiler</compiler>
</configuration>
<dependencies>
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports</artifactId>
<version>5.5.0</version>
</dependency>
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>servlet-api</artifactId>
<version>3.0.20100224</version>
</dependency>
</dependencies>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>compile-reports</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>

错误:

19/11/18 00:00:00 DEBUG BaseReportFiller.<init>:149 - Fill 1: created for boleto-default
19/11/18 00:00:01 DEBUG BaseReportFiller.<init>:177 - created delayed actions 1 for filler 1
19/11/18 00:00:01 DEBUG ExtensionsEnvironment.createDefaultRegistry:87 - Instantiating extensions registry class net.sf.jasperreports.extensions.DefaultExtensionsRegistry
19/11/18 00:00:01 DEBUG DefaultExtensionsRegistry.getRegistries:150 - Loading registries for cache key sun.misc.Launcher$AppClassLoader@70dea4e
19/11/18 00:00:01 DEBUG JRLoader.collectResources:791 - Found resource jasperreports_extension.properties at jar:file:/home/matheus/Downloads/myProject-1.0.0.jar!/jasperreports_extension.properties in classloader sun.misc.Launcher$AppClassLoader@70dea4e
19/11/18 00:00:01 DEBUG DefaultExtensionsRegistry.loadRegistries:182 - Loading JasperReports extension properties resource jar:file:/home/matheus/Downloads/myProject-1.0.0.jar!/jasperreports_extension.properties
19/11/18 00:00:01 DEBUG DefaultExtensionsRegistry.loadRegistries:264 - Instantiating registry of type net.sf.jasperreports.engine.fonts.SimpleFontExtensionsRegistryFactory for property net.sf.jasperreports.extension.registry.factory.fonts
19/11/18 00:00:01 DEBUG DefaultExtensionsRegistry.instantiateRegistry:289 - Instantiating extensions registry for fonts using factory class net.sf.jasperreports.engine.fonts.SimpleFontExtensionsRegistryFactory
19/11/18 00:00:01 DEBUG FontExtensionsRegistry.ensureFontExtensions:88 - Loading font extensions from fonts.xml
Exception in thread "TestThread" java.lang.ExceptionInInitializerError
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)
at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:667)
at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:648)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:970)
at br.com.caelum.stella.boleto.transformer.GeradorDeBoleto.geraRelatorio(GeradorDeBoleto.java:119)
at br.com.caelum.stella.boleto.transformer.GeradorDeBoleto.geraPDF(GeradorDeBoleto.java:160)
at br.com.caelum.stella.boleto.transformer.GeradorDeBoleto.geraPDF(GeradorDeBoleto.java:210)
at br.com.caelum.stella.boleto.transformer.GeradorDeBoleto.geraPDFStream(GeradorDeBoleto.java:229)
at br.com.company.test.TestThread.run(TestThread.java:57)
at java.lang.Thread.run(Thread.java:748)

最佳答案

在@Petter Friberg 的建议下,我能够确定我的错误的真正来源,他在 Jasper Report 属性文件中。

下面是帮助我解决问题的链接:

Jasperreports engine JRRuntimeException on report().show

关于java - JasperReport 异常 : FontExtensionsRegistry. ensureFontExtensions : Loading font extensions from fonts. xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53412417/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com