OpenJDK FontConfiguation 空指针问题解决

时间:2025-02-07 11:00:55

该错误出现的原因是OpenJDK没有使用SXSSFWorkbook对应的支持的字体,可以通过添加扩充字体库解决该问题,以下为抛出的异常:

Caused by: 
	at (:1264)
	at (:219)
	at (:107)
	at .(:774)
	at $(:431)
	at (Native Method)
	at .<init>(:376)
	at .<init>(:35)
	at .X11FontManager.<init>(:57)
	at .newInstance0(Native Method)
	at (:62)
	at (:45)
	at (:423)
	at (:442)
	at $(:83)
	at (Native Method)
	at (:74)
	at .getFont2D(:491)
	at (:2060)
	at (:470)
	at .<init>(:531)
	at (:254)
	at .<init>(:117)
	at .<init>(:77)
	at (:636)
	at (:629)
	at (:71)
	at .(:85)
	at (:1492)
	at $degradeExportAssSubOne$9(:1357)
	at (:266)
	at (:1149)
	at $(:624)
	... 1 more

以下为解决步骤:

  1. yum -y install fontconfig
    在 /usr/share 下多出 fontconfig 和 fonts 目录。
  2. yum -y install zstd
  3. 下载字体 ttf-dejavu: Package: mingw-w64-x86_64-ttf-dejavu - MSYS2 Packages
  4. tar -I zstd -xvf mingw-w64-x86_64-ttf-dejavu-2.
  5. cp mingw64/share/fonts/TTF/* /usr/share/fonts/
  6. fc-cache --force
  7. fc-list
  8. 重启服务进程

PS:另外一种方案是将SXSSFWorkbook替换成HSSFWorkbook