Apache POI 3.10 autoSizeColumn失败

Ser*_*nov 1 java awt apache-poi

Caused by: java.lang.NoClassDefFoundError: Could not initialize class java.awt.Font
        at java.awt.font.TextLayout.singleFont(TextLayout.java:468)
        at java.awt.font.TextLayout.<init>(TextLayout.java:527)
        at org.apache.poi.ss.util.SheetUtil.getColumnWidth(SheetUtil.java:208)
        at org.apache.poi.xssf.usermodel.XSSFSheet.autoSizeColumn(XSSFSheet.java:386)
Run Code Online (Sandbox Code Playgroud)

我的环境如下:

java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)
Run Code Online (Sandbox Code Playgroud)

没有设置nogui和java.awt.headless = true标志。

Gag*_*arr 6

Apache POI QuickGuide条目上的“如何调整列宽以适合内容”

警告

要计算列宽,Sheet.autoSizeColumn使用Java2D类,如果图形环境不可用,则该类将引发异常。如果图形环境不可用,则必须告诉Java您正在以无头模式运行,并设置以下系统属性:java.awt.headless = true

您已经说过您既没有在图形环境中运行,也没有无头之脑。快速指南清楚地表明,如果要执行图形化操作(例如,调整字体大小),则必须在图形化环境启用无头的情况下运行