zoukankan      html  css  js  c++  java
  • 解决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 



    即可解决
  • 相关阅读:
    014-CallbackServlet代码
    PaymentServlet代码
    013-PaymentUtils工具类模板
    案例30-在线支付
    案例29-购物车提交订单
    案例28-清空购物车
    案例27-购物车删除单一商品
    案例26-购物车
    案例25-servlet的抽取
    在Eclipse或工作空间中 ,复制或修改项目后,把项目部署后发现还是原来的项目名称
  • 原文地址:https://www.cnblogs.com/sixiweb/p/2785553.html
Copyright © 2011-2022 走看看