OpenJDK excel en docker no puede exportar java.lang.NullPointerException en sun.awt.FontConfiguration.getVersion
1. Descripción de fondo:
La versión jdk1.8 se usa localmente y la función se puede usar normalmente. Al implementar en el entorno de Linux (openJDK1.8) a través de la imagen empaquetada de la ventana acoplable, Excel no se puede exportar y se informa la inicialización. La excepción de puntero nulo es informó de la siguiente manera:
2. Motivo:
Openjdk simplifica algunas funciones en comparación con jdk1.8, por lo que es más pequeño cuando se empaqueta con docker. El error de inicialización cuando se exporta Excel se debe a que el componente fontconfig está simplificado.
3. Solución:
Se puede resolver descargando el componente fontconfig cuando docker empaqueta la imagen
El primer paso : el sistema Linux Centos descarga el componente fontconfig
yum install fontconfig
Paso 2 : agregue el comando de descarga al empaquetar la imagen
RUN apk add --update font-adobe-100dpi ttf-dejavu fontconfig
La siguiente captura de pantalla:
Al empaquetar la imagen, se imprimirá el siguiente registro (la descarga puede ser lenta):
4. Luego, reinicie la ventana acoplable
docker restart 容器ID或容器名
5. Al empaquetar, se encontró que la descarga era muy lenta.La solución: cambiar al espejo Ali
RUN echo -e 'https://mirrors.aliyun.com/alpine/v3.6/main/\nhttps://mirrors.aliyun.com/alpine/v3.6/community/' > /etc/apk/repositories \
&& apk update \
&& apk upgrade \
&& apk --no-cache add ttf-dejavu fontconfig
La configuración final es la siguiente: