Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 9444|Svare: 1

Docker POI-feilunntaksløsning

[Kopier lenke]
Publisert 2021-11-9 09:19:08 | | | |
Når POI brukes til å implementere Excel-import og -eksport, er det lokale åpne miljøet normalt, men når det pakkes som et docker-bilde for å starte, er feilen 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 metode)
        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 metode)
        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)
        at org.apache.poi.ss.util.SheetUtil.getColumnWidth(SheetUtil.java:259)
        på org.apache.poi.ss.util.SheetUtil.getColumnWidth(SheetUtil.java:244)
        at org.apache.poi.xssf.usermodel.XSSFSheet.autoSizeColumn(XSSFSheet.java:523)
        på org.apache.poi.xssf.usermodel.XSSFSheet.autoSizeColumn(XSSFSheet.java:505)

løsning

Ved å erstatte basisbildet brukte jeg opprinnelig openjdk:8-jdk-alpine, og byttet deretter til:openjdk:8u312-oraclelinux8, problemet er løst, og POI-pakken kan brukes normalt.

Dockerfile



(Slutt)




Foregående:Filen eller mappen eksisterer ikke når Docker-volumet monteres
Neste:Java endrer konfigurasjonsfilen til krigspakken
Publisert 2021-11-11 08:49:48 |
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com