Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 9444|Răspunde: 1

Soluția excepțiilor de eroare POI Docker

[Copiază linkul]
Postat pe 2021-11-9 09:19:08 | | | |
Când folosești POI pentru a implementa import și export în excel, mediul deschis local este normal, dar când este ambalat ca imagine docker la început, eroarea este următoarea:



la sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1264)
        la sun.awt.FontConfiguration.readFontConfigFile(FontConfiguration.java:219)
        la sun.awt.FontConfiguration.init(FontConfiguration.java:107)
        la sun.awt.X11FontManager.createFontConfiguration(X11FontManager.java:774)
        la sun.font.SunFontManager$2.run(SunFontManager.java:431)
        la java.security.AccessController.doPrivileged(Native Method)
        la sun.font.SunFontManager. <init>(SunFontManager.java:376)
        la sun.awt.FcFontManager. <init>(FcFontManager.java:35)
        la sun.awt.X11FontManager. <init>(X11FontManager.java:57)
        la sun.reflect.NativeConstructorAccessorImpl.newInstance0(Metoda nativă)
        la sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        la sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        la java.lang.reflect.Constructor.newInstance(Constructor.java:423)
        la java.lang.Class.newInstance(Class.java:442)
        la sun.font.FontManagerFactory$1.run(FontManagerFactory.java:83)
        la java.security.AccessController.doPrivileged(Native Method)
        la sun.font.FontManagerFactory.getInstance(FontManagerFactory.java:74)
        la java.awt.Font.getFont2D(Font.java:491)
        la java.awt.Font.canDisplayUpTo(Font.java:2060)
        la java.awt.font.TextLayout.singleFont(TextLayout.java:470)
        la java.awt.font.TextLayout. <init>(TextLayout.java:531)
        la org.apache.poi.ss.util.SheetUtil.getDefaultCharWidth(SheetUtil.java:285)
        la org.apache.poi.ss.util.SheetUtil.getColumnWidth(SheetUtil.java:259)
        la org.apache.poi.ss.util.SheetUtil.getColumnWidth(SheetUtil.java:244)
        la org.apache.poi.xssf.usermodel.XSSFSheet.autoSizeColumn(XSSFSheet.java:523)
        la org.apache.poi.xssf.usermodel.XSSFSheet.autoSizeColumn(XSSFSheet.java:505)

soluție

Înlocuind imaginea de bază, inițial am folosit openjdk:8-jdk-alpine, apoi am schimbat la:openjdk:8u312-oraclelinux8, problema este rezolvată, iar pachetul POI poate fi folosit normal.

Dockerfile



(Sfârșit)




Precedent:Fișierul sau folderul nu există atunci când volumul Docker este montat
Următor:Java modifică fișierul de configurare al pachetului war
Postat la 2021-11-11 08:49:48 |
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com