Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 9444|Svar: 1

Docker POI-fejlundtagelsesløsning

[Kopier link]
Opslået den 2021-11-9 09:19:08 | | | |
Når POI bruges til at implementere excel-import og -eksport, er det lokale åbne miljø normalt, men når det pakkes som et docker-billede til start, er fejlen som følger:



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 metode)
        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)
        at 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)
        at org.apache.poi.xssf.usermodel.XSSFSheet.autoSizeColumn(XSSFSheet.java:505)

opløsning

Jeg erstattede basisbilledet og brugte oprindeligt openjdk:8-jdk-alpine, og ændrede derefter til:openjdk:8u312-oraclelinux8, problemet er løst, og POI-pakken kan bruges normalt.

Dockerfile



(Slut)




Tidligere:Filen eller mappen eksisterer ikke, når Docker-volumenet monteres
Næste:Java ændrer konfigurationsfilen for krigspakken
Opslået den 2021-11-11 08:49:48 |
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com