Ahm*_*mal 5 java redhat apache-poi
我尝试创建时出现问题SXSSFWorkbook.
异常堆栈跟踪:
java.lang.ArrayIndexOutOfBoundsException: 0
at sun.font.CompositeFont.getSlotFont(CompositeFont.java:351)
at sun.font.CompositeGlyphMapper.initMapper(CompositeGlyphMapper.java:81)
at sun.font.CompositeGlyphMapper.<init>(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.<init>(TextLayout.java:531)
at FontTest.main(FontTest.java:15)
Run Code Online (Sandbox Code Playgroud)
gradle文件:
compile 'org.apache.poi:poi:3.14'
compile 'org.apache.poi:poi-ooxml:3.14'
Run Code Online (Sandbox Code Playgroud)
环境 :
Ahm*_*mal 14
这个问题只发生在Red hat version 7.4.据报道那里.红帽子们正在努力解决这个问题.我找到的解决方案就是提供字体以强制将Utopia作为java使用的默认字体.
/etc/fonts/local.conf使用以下内容创建以下文件:
<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
<alias>
<family>serif</family>
<prefer><family>Utopia</family></prefer>
</alias>
<alias>
<family>sans-serif</family>
<prefer><family>Utopia</family></prefer>
</alias>
<alias>
<family>monospace</family>
<prefer><family>Utopia</family></prefer>
</alias>
<alias>
<family>dialog</family>
<prefer><family>Utopia</family></prefer>
</alias>
<alias>
<family>dialoginput</family>
<prefer><family>Utopia</family></prefer>
</alias>
</fontconfig>
Run Code Online (Sandbox Code Playgroud)
确保正确的用户可以读取该文件.
| 归档时间: |
|
| 查看次数: |
3274 次 |
| 最近记录: |