CentOS 中部署JasperReport时出错:
net.sf.jasperreports.engine.util.JRFontNotFoundException: Font '宋体' is not available to the JVM. See the Javadoc for more details. 原因:操作系统默认语言是英文版的。修改为中文并拷贝windows的字体到linux系统中并应用,停止Tomcat等Web服务器,删除缓存(Tomcat中为tomcat目录下的work目录)即可。
方法:
修改系统默认语言:
vim /etc/sysconfig/i18n
内容:
拷贝字体:
将c:\windows\Fonts(从网上下载simsun.ttf,windows中自带的宋体已经不叫这个名字le)下
的字体拷贝到 /usr/share/fonts/chinese下面(我的是CentOS6,fonts目录下面我自己创建的chinese目录)
进入tomcat目录,停止tomcat服务,删除work目录。
重启系统:reboot
测试。OK!
经测试,以上方法不能永远解决问题。
以下方法方便快捷的解决了我的问题:
解决方法:
1、把需要用到的字体(可以直接拷贝windows系统的C:\WINDOWS\Fonts 下的相关字体)拷贝当前项目的classpath下,一般为classes目录下
2、在classpath里添加 jasperreports.properties 属性文件
文件内容为:
net.sf.jasperreports.awt.ignore.missing.font=true
即可解决