解決CentOS 中部署JasperReport時出錯的問題。錯誤:net.sf.jasperreports.engine.util.JRFontNotFoundException: Font '宋體' is not available to the JVM.


 

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 

 

內容:

LANG="en_US.UTF-8"

 

拷貝字體:

將c:\windows\Fonts(從網上下載simsun.ttf,windows中自帶的宋體已經不叫這個名字le)下
 的字體拷貝到 /usr/share/fonts/chinese下面(我的是CentOS6,fonts目錄下面我自己創建的chinese目錄)

依次執行下列命令   
cd /usr/share/fonts/chinese

 

  mkfontscale  
  mkfontdir   
  fc-cache  


 進入tomcat目錄,停止tomcat服務,刪除work目錄。

重啟系統:reboot 

 

 測試。OK!

 

 

經測試,以上方法不能永遠解決問題。

以下方法方便快捷的解決了我的問題:

 

 


解決方法: 

1、把需要用到的字體(可以直接拷貝windows系統的C:\WINDOWS\Fonts 下的相關字體)拷貝當前項目的classpath下,一般為classes目錄下 

2、在classpath里添加 jasperreports.properties 屬性文件 

文件內容為: 

net.sf.jasperreports.awt.ignore.missing.font=true 



即可解決

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM