Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 9444|Répondre: 1

Solution d’exception d’erreur POI Docker

[Copié le lien]
Publié le 9-11-2021 09:19:08 | | | |
Lorsque vous utilisez POI pour implémenter l’importation et l’exportation Excel, l’environnement ouvert local est normal, mais lorsqu’il est empaqueté en image docker au départ, l’erreur est la suivante :



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

solution

En remplaçant l’image de base, j’ai initialement utilisé openjdk :8-jdk-alpine, puis j’ai changé pour :openjdk:8u312-oraclelinux8, le problème est résolu, et le package POI peut être utilisé normalement.

Dockerfile



(Fin)




Précédent:Le fichier ou le dossier n’existe pas lorsque le volume Docker est monté
Prochain:Java modifie le fichier de configuration du paquet war
Publié le 11-11-2021 08:49:48 |
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com