我使用 Apache POI 编写电子表格。有问题的行是我调用Sheet#autoSizeColumn(int column)
. 如果我在没有图形环境的 unix shell 上运行它,则会出现以下异常:
Exception in thread "Thread-3" java.lang.UnsatisfiedLinkError: /usr/pkg/java/openjdk7/jre/lib/amd64/xawt/libmawt.so: Shared object "libXext.so.7" not found
根据apache 的快速指南,应该设置一个属性来表示无头环境,所以我尝试以下调用:
java -jar -Xmx200m -Djava.awt.headless=true myJar.jar
但是我得到了同一行的另一个例外:
Exception in thread "Thread-3" java.lang.UnsatisfiedLinkError: /usr/pkg/java/openjdk7/jre/lib/amd64/libfontmanager.so: Shared object "libfreetype.so.7" not found
上面的 apache 指南还说“我应该确保我在你的工作簿中使用的字体可用于 Java”。我真的不使用任何特定的字体,我对字体做的唯一一件事就是
XSSFFont boldFont = (XSSFFont) wb.createFont();
boldFont.setBold(true);
titleRowStyle.setFont(boldFont);
unix shell 运行
openjdk version "1.7.0-internal"
OpenJDK Runtime Environment (build 1.7.0-internal-pkgsrc_2015_01_06_05_56-b00)
OpenJDK 64-Bit Server VM (build 24.71-b01, mixed mode)
和
NetBSD *** 6.1.5 NetBSD 6.1.5 (jajo) #1: Sun Jun 21 09:13:03 UTC 2015 spaj@***:/usr/src/sys/arch/amd64/compile/jajo amd64
有可能解决这个问题吗?