この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 9444|答える: 1

Docker POI error exception solution

[リンクをコピー]
2021年11月9日 09:19:08 に投稿 | | | |
POIを使ってExcelのインポートとエクスポートを実装すると、ローカルのオープン環境は通常ですが、dockerイメージとしてパッケージ化するとエラーは以下の通りです:



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

解決

ベース画像を差し替えて、最初はopenjdk:8-jdk-alpineを使い、その後以下に変更しました:openjdk:8u312-oraclelinux8問題は解決され、POIパッケージは通常通り使用可能になります。

Dockerfile



(終わり)




先の:Dockerボリュームがマウントされた時点では、ファイルやフォルダは存在しません
次に:Javaは戦争パッケージの設定ファイルを修正します
2021年11月11日 08:49:48に投稿 |
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com