Maven jasperreports-maven-plugin定义了编译字符集

Fot*_*los 1 maven-2 jasper-reports

当使用jasperreports-maven-plugin/1.0-beta-2将jrxml文件编译为jasper时,生成的报告不能正确显示unicode字符,它会显示???? 代替.

很明显这是一个字体问题.所以我打开了iReport 4.0.1,并从那里编译了jrxml文件而没有改变任何特定的设置,生成的jasper文件可以很好地显示unicode字符.所以我假设有一些编译时属性,我没有正确设置.

我想过使用jasperreports-maven-plugin插件的标签来定义编译jasper文件时使用的结果编码属性.但我无法找到那里设置的属性.

我从中猜到了一些属性

JasperReport配置参考

特别

net.sf.jasperreports.default.pdf.encoding
net.sf.jasperreports.export.character.encoding
Run Code Online (Sandbox Code Playgroud)

但无济于事.

所以我想知道iReport是否使用了一些关于可以在asperreports-maven-plugin mojo中设置的字体,编码或字符集属性的特殊编译选项.

如果这不可能来自这个魔力,那么就是这样.

谢谢

Aar*_*ron 5

Maven插件很可能不使用JasperReports 4.0.1来编译报告.默认情况下,它使用定义为依赖关系的JasperReports:jasperreports:jasperreports:1.2.0.

因为JasperReports 4.0.1具有不同的组,工件和版本,所以不能覆盖此依赖项.排除仅适用于依赖项的依赖项,因此也不是一种选项.您需要使用不同版本的mojo来使用4.0.1编译模板.

幸运的是,补丁已经应用于mojo的主干,所以你要做的就是检查代码并将版本部署到你的存储库.

http://svn.codehaus.org/mojo/trunk/mojo/jasperreports-maven-plugin/

部署插件后,您需要将依赖关系覆盖到4.0.1.您可以通过在插件级别定义依赖项来完成此操作.

<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jasperreports-maven-plugin</artifactId>
<dependencies>
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports</artifactId>
<version>4.0.1</version>
</dependency>
</dependencies>
</plugin>