解決CentOS 中部署JasperReport時出錯的問題。錯誤:net.sf.jasperreports.engine.util.JRFontNotFoundException: Font 

來源:互聯網
上載者:User

 

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 

即可解決

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.