我现在的这家公司基本都在用现代化的开发工具,所有程序写完都在docker环境下运行,我们公司dalao钦定的底包就是alpine。后续的问题都是Alpine没有自带默认字体造成的。如果你想快速知道怎么解决请直接看最后。
问题
我遇到的问题是这样的:
java.lang.NullPointerException at sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1264)
场景是公司买的快速开发框架jeeplus,自带一个数据导入功能,需要下载excel模板,当下载模板时触发NPE。
追踪问题
要解决一个问题最好的办法就是去看调用栈。
通过看调用栈,我们可以知道问题出在Excel组件上。
Excel组件试图根据字体大小自动调整单元格宽度,当寻找fontconfig时发现根本找不到,返回一个Null。
拿着java.lang.NullPointerException at sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1264)
在谷歌搜索,可以看到很多github的issue,第一条连接 Nul