◎筱米加步枪◎.Blog

Happy coding

Maven工程上Absent Code attribute in method that is not native or abstract in class file解决方案。

在Maven工程上进行JUnit测试出现如下错误:

Caused by: java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class file javax/persistence/CascadeType

 

解决方案:
在pom.xml文件中添加jboss-javaee6依赖

<dependency>
   <groupId>org.jboss.spec</groupId>
   <artifactId>jboss-javaee-6.0</artifactId>
   <version>2.0.0.Final</version>
   <type>pom</type>
   <scope>provided</scope>
</dependency>

 

JapserReport导出PDF出现Could not load the following font错误的解决方案

年后,将年前的基于JasperReport封装的API移植到Maven工程上,问题不断,其中一个问题就是导出PDF过程中出现如下错误:

 

Could not load the following font :

   pdfFontName   : STSong-Light

   pdfEncoding   : UniGB-UCS2-H

   isPdfEmbedded : true

 

百度了好久没有找到答案,偶然想起之前也有解决相关iText的中文版本问题,请看这篇文章:http://cst.is-programmer.com/posts/18844.html

不过这次有点不同的就是,JasperReport4.5.0 使用的是iText2.1.7版本,分析包名是以com.lowagie开头,所以相应的iTextAsian也应该是com.lowagie.XXX的。

之前出现错误就是导出了其他版本的iTextAsian.jar(com.itextpdf.XXX)。

总之:iText和iTextAsian的包要配套起来就没问题了。

JasperReport导出PDF报表中文不显示问题

这两天,利用iReport和JasperReport做报表,发现在导出PDF的时候中文不显示,而导出HTML却显示正常,而相关的itext包也引入到项目中了。百度发现,在报表定义的时候要设置如下属性:

    Font name:          宋体 (中文字体)
    PDF font name:  STSong-Light
    PDF Encoding:    UniGB-UCS2-H(Chinese Siplified)
    PDF Embeded:   true

如图:

设置后,问题解决。