POI 导出Exicel, 报Could not initialize class sun.awt.X11FontManager错误

Posted IT包工头

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了POI 导出Exicel, 报Could not initialize class sun.awt.X11FontManager错误相关的知识,希望对你有一定的参考价值。

 stash登录时提示输入验证码,可是验证码不显示了,怎么解决了?

 报错信息:java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11FontManager

at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:278)

at sun.font.FontManagerFactory$1.run(FontManagerFactory.java:82)

at java.security.AccessController.doPrivileged(Native Method)

at sun.font.FontManagerFactory.getInstance(FontManagerFactory.java:74)

at java.awt.Font.getFont2D(Font.java:490) at java.awt.Font.canDisplayUpTo(Font.java:2059)

at java.awt.font.TextLayout.singleFont(TextLayout.java:469) at java.awt.font.TextLayout.(TextLayout.java:527)

at org.apache.poi.ss.util.SheetUtil.getDefaultCharWidth(SheetUtil.java:254)

  

在百度是没法找到解决方案的,最后通过FQ找到了原因,是字体的问题,但是怎么装也没有用,也有说的jdk的问题,各种查找,最终是柳暗花明。

 

stash的配置环境的centos环境下,用xshell进行操作。

 

解决方案:

yum grouplist

然后找到 Fonts

yum groupinstall Fonts

装完后,再重启一下刷新,结果还是没有解决

重新运行后会提示一个JDK中的目录下没有一个 **.so的东西,这时候直接再次装这个东西

yum install **.so 

再次重启、刷新,解决问题!

 

解决方法参考: “吸博取精自我更新” 博客,地址:http://wyong.blog.51cto.com/1115465/1690521

以上是关于POI 导出Exicel, 报Could not initialize class sun.awt.X11FontManager错误的主要内容,如果未能解决你的问题,请参考以下文章

接口请求报Could not marshal异常解决

poi导出大数据,报内存溢出怎么解决

解决报错:IncompleteElementException: Could not find result map...

FlinkFlink 任务报错 Could not perform checkpoint for operator

ftp上传文件报错:ftp recv: 553 Could not create file.

转 : Apache启动报错:could not bind to address [::]:443 解决办法