Docker Unbuntu18 OpenJDK9 NPE FontConfiguration.getVersion (awt 字体库问题)

java.lang.NullPointerException: null
	at java.desktop/sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1288)
        .....

在使用Docker容器运行springboot程序时,验证码请求需要使用到字体库,本机运行没有问题,放到服务器上在容器中运行出现NPE问题,由于openjdk9中默认不带有awt字体库,所以获取字体出现NPE.

docker容器环环境openjdk9, Unbuntu18.04 , 解决方式就是安装fontconfig字体库,Dockerfile如下:

FROM adoptopenjdk/openjdk9
LABEL manitainer="tm<t0m999@xxx.com>"
LABEL description="This is demo service."

ARG APP_HOME=/app/
ARG APP_NAME=demo-srv
ARG APP_BOOT=${APP_NAME}-boot

VOLUME /tmp

ADD ${APP_BOOT}.tar $APP_HOME

# for openjdk awt font solution  安装fontconfig库,处理NPE问题
RUN apt update && apt install fontconfig -y && apt install --fix-broken -y

RUN mkdir -p ${APP_HOME}log/ \
        && mv ${APP_HOME}${APP_BOOT}/bin/${APP_NAME} ${APP_HOME}${APP_BOOT}/bin/start \
        && mv ${APP_HOME}${APP_BOOT}/* ${APP_HOME} && rm -rf ${APP_HOME}${APP_BOOT}


ENV BOOT_ARG -Djava.security.e
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值