Bootstrap

resources 下字体文件报错 simsun.ttc is not a valid TTF file

将字体文件放在resources目录下,然后将项目打包部署,运行程序发现报错 simsun.ttc is not a valid TTF file

 

报错原因:项目打包时,会对resources目录下的字体文件进行压缩,项目部署后,又会对字体文件进行解压,导致字体文件发生变化,进而损坏字体文件,因此报错 simsun.ttc is not a valid TTF file。笔者初次遇到这个报错时也很棘手,以为是字体文件本身的问题,后来仔细对比才发现打包后的字体文件大小和打包前不同,如果将打包前的字体文件直接复制到打包后的项目中,就没有这个报错了

 

打包前字体文件大小

打成war包后字体文件大小

 

 

解决办法:笔者这里提供3种解决办法

1、将字体文件放在服务器的某个文件夹下,而不是放在resources目录下跟随项目,这样就不存在打包压缩的问题了,就解决了

2、项目打包后,手动将没被压缩的字体文件复制到打包后的对应文件夹下

3、使用系统的字体文件,如果系统环境没有字体文件,可以给系统安装字体文件,这个解决办法其实和办法1是同样的道理,笔者这里推荐使用办法1

 

 

;