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)

  

在百度是沒法找到解決方案的,最后通過翻牆找到了原因,是字體的問題,但是怎么裝也沒有用,也有說的jdk的問題,各種查找,最終是柳暗花明。

 

stash的配置環境的centos環境下,用xshell進行操作。

 

解決方案:

yum grouplist

然后找到 Fonts

yum groupinstall Fonts

裝完后,再重啟一下刷新,結果還是沒有解決

重新運行后會提示一個JDK中的目錄下沒有一個 **.so的東西,這時候直接再次裝這個東西

yum install **.so 

再次重啟、刷新,解決問題!

 

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM