使用docker部署SpringBoot项目时,导出excel报表时报错了,信息如下:
java.lang.NullPointerException: null
at sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1264)
at sun.awt.FontConfiguration.readFontConfigFile(FontConfiguration.java:219)
at sun.awt.FontConfiguration.init(FontConfiguration.java:107)
at sun.awt.X11FontManager.createFontConfiguration(X11FontManager.java:774)
at sun.font.SunFontManager$2.run(SunFontManager.java:431)
解决方法:
方法 一(最优):
更换构建镜像
FROM frolvlad/alpine-java:jdk8-slim
方法 二(构建速度较慢):
然后再Dockerfile里面,添加
ADD ./rnr-admin/fonts/Arial.ttf /usr/share/fonts/
ADD ./rnr-admin/fonts/Courier.ttf /usr/share/fonts/
RUN apk add fontconfig
RUN fc-cache --force
tips:新构建的镜像需要使用新的版本号哦
Arial.ttf和Courier.ttf为自己项目new font()时的字体,可以查看自己项目所用到的字体,按需下载,Arial.ttf和Courier.ttf我放入了下载,大家可以进去下载
亲测有效哦~~