Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 9444|Respuesta: 1

Solución de excepción de errores de Docker POI

[Copiar enlace]
Publicado el 9-11-2021 09:19:08 | | | |
Al usar POI para implementar la importación y exportación de Excel, el entorno abierto local es normal, pero cuando se empaqueta como una imagen docker al principio, el error es el siguiente:



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

solución

Al reemplazar la imagen base, originalmente usé openjdk:8-jdk-alpine, luego cambié a:openjdk:8u312-oraclelinux8, el problema está resuelto y el paquete POI puede usarse normalmente.

Dockerfile



(Fin)




Anterior:El archivo o la carpeta no existen cuando se monta el volumen Docker
Próximo:Java modifica el archivo de configuración del paquete war
Publicado el 11-11-2021 08:49:48 |
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com