java.lang.NullPointerException bei sun.awt.FontConfiguration.getVersion

OpenJDK Excel in Docker kann java.lang.NullPointerException bei sun.awt.FontConfiguration.getVersion nicht exportieren

1. Hintergrundbeschreibung:

Die jdk1.8-Version wird lokal verwendet und die Funktion kann normal verwendet werden. Bei der Bereitstellung in der Linux-Umgebung (openJDK1.8) über das Docker-Paket-Image kann Excel nicht exportiert werden und die Initialisierung wird gemeldet. Die Nullzeiger-Ausnahme ist wie folgt berichtet:
Fügen Sie hier eine Bildbeschreibung ein

2. Grund:

Openjdk vereinfacht einige Funktionen im Vergleich zu jdk1.8 und ist daher kleiner, wenn es mit Docker gepackt wird. Der Initialisierungsfehler beim Excel-Export liegt daran, dass die Komponente „fontconfig“ vereinfacht wurde.

3. Lösung:

Das Problem kann gelöst werden, indem die Komponente „fontconfig“ heruntergeladen wird, wenn Docker das Bild packt

Der erste Schritt : Laden Sie die Fontconfig-Komponente des Linux Centos-Systems herunter

yum install fontconfig

Schritt 2 : Fügen Sie beim Packen des Bildes den Download-Befehl hinzu

RUN apk add --update font-adobe-100dpi ttf-dejavu fontconfig

Der Screenshot unten:
Fügen Sie hier eine Bildbeschreibung ein
Beim Packen des Bildes wird das folgende Protokoll gedruckt (der Download kann langsam sein):
Fügen Sie hier eine Bildbeschreibung ein
4. Starten Sie dann Docker neu

docker restart 容器ID或容器名

5. Beim Packen wurde festgestellt, dass der Download sehr langsam war. Die Lösung: Wechseln Sie zum Ali-Spiegel

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

Die endgültige Konfiguration ist wie folgt:
Fügen Sie hier eine Bildbeschreibung ein

Ich denke du magst

Origin blog.csdn.net/weixin_41377835/article/details/124723828
Empfohlen
Rangfolge