使用带有openjdk的stix-fonts的例外?
我尝试创建SXSSFWorkbook
。
exception堆栈跟踪:
java.lang.ArrayIndexOutOfBoundsException: 0 at sun.font.CompositeFont.getSlotFont(CompositeFont.java:351) at sun.font.CompositeGlyphMapper.initMapper(CompositeGlyphMapper.java:81) at sun.font.CompositeGlyphMapper.(CompositeGlyphMapper.java:62) at sun.font.CompositeFont.getMapper(CompositeFont.java:409) at sun.font.CompositeFont.canDisplay(CompositeFont.java:435) at java.awt.Font.canDisplayUpTo(Font.java:2063) at java.awt.font.TextLayout.singleFont(TextLayout.java:470) at java.awt.font.TextLayout.(TextLayout.java:531) at FontTest.main(FontTest.java:15)
gradle文件:
compile 'org.apache.poi:poi:3.14' compile 'org.apache.poi:poi-ooxml:3.14'
环境 :
- openjdk版本“1.8.0_141”
- RedHat 7.4
- wildfly 10.0.0
问题仅发生在Red hat version 7.4
。 据报道那里 。 红帽子们正在努力解决这个问题 。 我找到的解决方案就是提供字体以强制将Utopia作为java使用的默认字体。
使用以下内容创建以下文件/etc/fonts/local.conf
:
serif Utopia sans-serif Utopia monospace Utopia dialog Utopia dialoginput Utopia
确保正确的用户可以读取该文件。