前言
之前写过一篇Linux下Java后端生成图片中文字体不显示文章。这种通过配置系统字体文件的方式,当然可以正确加载字体。但是有一个弊端就是导致应用程序对服务器环境产生了强依赖。如果应用程序只部署在一台服务器上,那用配置服务器环境的方式是可以作为一个选择。但是如果应用程序要部署在多台服务器上,我们要对每个服务器环境做配置,这种强依赖服务器环境的方式,显然有点傻逼了。
将字体文件放在java程序resources资源文件下加载
在resources新建Font目录,将字体文件放入在该目录下。
产生的问题
由于本地ide加载文件可以访问到磁盘文件,所以用以下方法,是可以访问到字体文件的。
但是一旦spring boot打成jar包之后,以上方法就访问不到字体文件,需要用以下方法来访问
那么能不能让程序自动识别程序启动方式?
现在如果我想让程序不管是ide启动还是jar包启动都能访问到字体文件,有没有办法?我们可以通过以下代码来识别程序启动方式
然后在加载字体文件代码处加上以上代码的判断,就可以了。代码如下:
如此,就可以正常加载字体文件。