Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 9444|Svar: 1

Docker POI-felundantagslösning

[Kopiera länk]
Publicerad 2021-11-9 09:19:08 | | | |
När POI används för att implementera excel-import och -export är den lokala öppna miljön normal, men när den paketeras som en docker-avbildning för att starta är felet följande:



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

lösning

När jag ersatte basbilden använde jag ursprungligen openjdk:8-jdk-alpine, och bytte sedan till:openjdk:8u312-oraclelinux8, problemet är löst och POI-paketet kan användas normalt.

Dockerfile



(Slut)




Föregående:Filen eller mappen existerar inte när Docker-volymen är monterad
Nästa:Java modifierar konfigurationsfilen för war-paketet
Publicerad den 2021-11-11 08:49:48 |
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com